我真的在努力使用Ember-data的REST适配器和嵌套资源,并感谢任何帮助......我正在使用最新的(1.0.4pre)版本的Ember和Ember数据(版本:11)。 / p>
我有两个简单的模型:
App.User = DS.Model.extend({
name: DS.attr('string'),
email: DS.attr('string'),
schemes: DS.hasMany('App.Scheme')
});
App.Scheme = DS.Model.extend({
name: DS.attr('string'),
users: DS.hasMany('App.User')
});
和简单的嵌套路由:
Router.map(function() {
this.resource("user", { path: "users/:user_id" }, function() {
this.resource("schemes");
});
});
我有一个Rails 3 JSON API,它有以下端点:
/users/:user_id
/users/:user_id/schemes
当我在我的ember应用程序中导航到users/:user_id/schemes
时,我想要检索所有用户的方案,但默认情况下,Ember-data请求/schemes
,这不是我的API中的端点 - 我可以添加但是我需要按用户来规划方案,我没有current_user的概念,因为我想查看任何用户和她的方案。
有没有办法强迫Ember查看/users/:user_id/schemes
或将查询参数附加到Ember的默认ajax调用,例如:/schemes?user_id=:user_id
?
或者,有没有办法添加到ajax请求标头,我的rails API可以相应地读取和设置/schemes
响应?
答案 0 :(得分:4)
似乎这个功能已经讨论了很多,但还没有实现。 This issue包含快速解决方法的示例代码。
你也可以使用:
var userSchemes = App.Scheme.find({ used_id: 'id' });
查询/schemes?user_id=id
。