2013-03-04 54 views
6

我真的很努力地使用Ember-data的REST适配器和嵌套的资源,并希望有任何帮助...我使用Ember的最新版本(1.0.4pre) Ember-data(修订版:11)。用Ember-data的REST适配器和嵌套的资源苦苦挣扎

我有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 

当我在我的应用程序应用程序导航到users/:user_id/schemes我想检索所有用户的方案,但默认情况下,Em ber数据请求/schemes,这不是我的API中的端点 - 我可以添加它,但我需要按用户范围方案,我没有current_user的概念,因为我想查看任何用户和她的方案。

是否有强迫Ember查看/users/:user_id/schemes或追加查询参数到Ember默认ajax调用的方法,例如:/schemes?user_id=:user_id

另外,有没有办法添加到ajax请求标题,这反过来我的rails API可以读取并设置/schemes相应的响应?

回答

4

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

您还可以使用:

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

查询/schemes?user_id=id

+0

Thanks @ahmacleod。 使用'App.Scheme.find({user_id:'id'});'现在工作,但似乎是一个便宜的解决方法。我想这就是用年轻技术骑马的原因! – olvado 2013-03-04 15:33:35

相关问题