【问题标题】:Struggling with Ember-data's REST adapter and nested resources挣扎于 Ember-data 的 REST 适配器和嵌套资源
【发布时间】:2013-03-04 13:23:17
【问题描述】:

我真的在使用 Ember-data 的 REST 适配器和嵌套资源苦苦挣扎,希望能得到任何帮助...我正在使用 Ember 和 Ember-data 的最新 (1.0.4pre) 版本(修订版:11)。

我有 2 个简单的模型:

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 数据请求 /schemes,这不是我 API 中的端点 - 我可以添加它,但我需要按用户划分方案,我没有 current_user 的概念,因为我想查看任何用户和她的方案。

有没有办法强制 Ember 查看/users/:user_id/schemes 或将查询参数附加到 Ember 的默认 ajax 调用,例如:/schemes?user_id=:user_id

或者,有没有办法添加到 ajax 请求标头,而我的 rails API 可以相应地读取和设置 /schemes 响应?

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

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

    你也可以使用:

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

    查询/schemes?user_id=id

    【讨论】:

    • 谢谢@ahmacleod。使用 App.Scheme.find({ user_id: 'id' }); 现在可以使用,但似乎是一种廉价的解决方法。我想这就是使用年轻技术的结果!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2023-04-06
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多