在Ember-data RESTadapter和嵌套资源上苦苦挣扎

时间:2013-03-04 13:23:18

标签: ember.js ember-data

我真的在努力使用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响应?

1 个答案:

答案 0 :(得分:4)

似乎这个功能已经讨论了很多,但还没有实现。 This issue包含快速解决方法的示例代码。

你也可以使用:

var userSchemes = App.Scheme.find({ used_id: 'id' });

查询/schemes?user_id=id