挣扎着用数据填充Ember。
我正在使用Rails作为后端,当我点击/contacts.json(ContactsRoute)时,它会返回一个id列表,first,last - 按预期工作。
但是,在访问详细视图(ContactRoute)时,我想点击/contacts/1.json并获取详细信息,如电子邮件地址,纪念日等。但由于我有一个动态段,因此跳过了模型钩子,没有这些协会是可以的。
问题:在列表/详细信息场景中获取其他数据的最佳方法是什么?
型号:
App.Contact = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
company: DS.attr('string'),
emails: DS.hasMany('App.Email'),
});
App.Email = DS.Model.extend({
contact: DS.belongsTo('App.Contact'),
emailAddress: DS.attr('string'),
});
路线:
App.Router.map(function() {
this.resource('contacts');
this.resource('contact', {path: 'contacts/:contact_id'});
});
App.ContactsRoute = Ember.Route.extend({
init: function() {},
model: function() {
return App.Contact.find();
}
});
App.ContactRoute = Ember.Route.extend({
model: function(params) {
return App.Contact.find(params.contact_id);
}
});
提前致谢。
答案 0 :(得分:1)
我刚刚在这里发布了一个类似问题的答案:https://stackoverflow.com/a/18553153/1254484
基本上,在App.ContactRoute
中,覆盖setupController
方法:
setupController: function(controller, model) {
controller.set("model", model);
model.reload();
return;
}
我使用的是最新的ember-data
(2013-08-26提交ef11bff
)。