Tôi đang cố gắng làm điều gì đó đơn giản nhưng tôi không thể tìm ra giải pháp.Xác định mô hình dữ liệu ember cho url còn lại lồng nhau
Ứng dụng của tôi cần chỉnh sửa tài liệu chứa trang.
Đây là mô hình của tôi:
MyApplication.Document = DS.Model.extend({
title: DS.attr('string'),
pages: DS.hasMany('page', {async: true})
});
MyApplication.Page = DS.Model.extend({
document: DS.belongsTo('document', {async: true}),
title: DS.attr('string'),
params: DS.attr(),
objects: DS.attr()
});
Và các tuyến đường:
MyApplication.Router.map(function() {
this.resource('document', {path: '/document/:document_id'});
});
MyApplication.Document = Ember.Route.extend({
model: function (params) {
return this.store.find('document', params.document_id);
}
});
Khi tôi nạp tài liệu 1, cuộc gọi ứng dụng http://www.myserver.com/api/document/1
.
Vấn đề là khi tôi muốn tìm một trang của tài liệu, nó gọi
http://www.myserver.com/api/pages/ID
thay vì
http://www.myserver.com/api/document/1/pages/ID
Luận cương URL lồng nhau ar e quan trọng trong ứng dụng của tôi.
tôi tìm thấy những điều khác nhau về đề tài này như thêm links
trong phản ứng JSON:
{
"document": {
"id": "1",
"title": "Titre du document",
"pages": ["1", "2", "3"],
"links": {"pages" : "pages"}
},
Nhưng khi tôi gọi cho các trang, nó yêu cầu http://www.myserver.com/api/document/1/pages
mà không có id.
tôi cũng cố gắng xác định tài liệu khi tôi yêu cầu cho trang:
this.store.find("page", 1, {document:1});
Không thể tìm thấy một tài liệu đầy đủ về vấn đề này, vì vậy nếu ai đó có thể giải thích cho tôi có chuyện gì vậy, tôi sẽ vui mừng.
Cảm ơn.
Bạn có thể gửi các tuyến đường của bạn? –
Ngoài ra, bạn đã giải trí các tuyến đường lồng nhau trong ứng dụng của mình nhưng vẫn giữ nguyên API phẳng - IE phơi bày 'http: // www.myserver.com/api/documents/1' và' http://www.myserver.com/api/pages/1' thay vì API lồng nhau. Bạn có kiểm soát được API không? –
Điều quan trọng là phải có cấu trúc lồng nhau này trong API vì tôi cần biết tài liệu để tìm trang. Yêu cầu api trên tài liệu thực, không phải trên DB – thomaf