2015-11-12 11 views
5

Tôi hiện đang cố tìm cách truy cập siêu dữ liệu khi sử dụng cuộc gọi store.findRecord().Ember.js: Cách truy cập siêu dữ liệu JSON API từ store.findRecord gọi

Trong hướng dẫn (http://guides.emberjs.com/v2.1.0/models/handling-metadata/) nó nói rằng siêu dữ liệu có thể được truy cập bằng cách làm như sau:

store.query('post').then((result) => { 
    let meta = result.get('meta'); 
}) 

Tôi đã hy vọng điều này sẽ làm việc khi sử dụng findRecord cũng

store.findRecord('book', params.id, {adapterOptions: {query: params}}).then((result) => { 
    let meta = result.get('meta'); 
}) 

Tuy nhiên này luôn trả về undefined cho thuộc tính meta. Tôi giả định rằng siêu dữ liệu không được đặt khi sử dụng findRecord. Tôi đang trở về giá trị JSON-API với một tài sản meta ở cấp cao nhất như thế này:

{ 
    "meta": { 
    "page": { 
     "number": 1, 
     "size": 100, 
     "total": 20 
    }, 
    "data":[ 
     // data here 
    ] 
    } 
} 

Có cách nào để truy cập vào các siêu dữ liệu trả về bởi server khi sử dụng findRecord() và JSONAPISerializer và JSONAPIAdapters?

Cảm ơn bạn!

Tôi đang sử dụng các phiên bản sau:

Ember    : 2.1.0 
Ember Data  : 2.1.0 
jQuery   : 1.11.3 
+0

Bản ghi đã có trong cửa hàng khi bạn đang thực hiện findRecord chưa? –

+0

Ý tưởng hay nhưng nó chưa có trong cửa hàng. Tôi cũng kiểm tra để chắc chắn rằng trong thanh tra chrome rằng yêu cầu mạng đang được thực hiện và nó được. Tôi bắt đầu nghĩ rằng điều này không được hỗ trợ ngay bây giờ. Dựa trên một số cuộc thảo luận trong slack có vẻ như khóa meta chỉ hoạt động trên các bộ sưu tập. – Sarus

+0

Hãy xem Hướng dẫn Ember về 'truy vấn' so với' queryRecord' so với 'findRecord' vv. Tôi nghĩ rằng những gì bạn đang cố gắng làm với' findRecord' là không thể: http: //guides.emberjs. com/v2.1.0/models/finding-records/ – vikram7

Trả lời

2

siêu dữ liệu không được hỗ trợ cho mỗi bản ghi cơ sở, bạn có thể đếm của việc có họ sẵn nếu bạn sử dụng store.query() hoặc khi lấy mối quan hệ. Trích dẫn:

Hiện tại, Ember chỉ hiểu một đối tượng meta cấp cao nhất trên truy vấn và mối quan hệ (thông qua các liên kết liên quan).

Hãy xem github sau thread để biết thêm thông tin.

+2

FYI Tôi đã đăng ở đây theo cách bạn có thể thực hiện việc này: http://stackoverflow.com/questions/35514055/how-to-access-top-level-meta-key-from-json-api-servers-200-response -when-callin/38312846 # 38312846 – Sarus

Các vấn đề liên quan