[英]Ember.js find() with params
我有一个Rails API,它响应以下JSON:
/用户/ 1
{
"id": 1,
"email": "sjobs@apple.com"
}
/用户/ 1?嵌入=角色,存储
{
"id": 1,
"email": "sjobs@apple.com"
"store": {
"id": 1,
"name": "Apple Store"
},
"role": {
"id": 1,
"name": "Owner"
}
}
是否可以决定使用Ember.js获取哪些关系 - App.User.find(1)? 我已经尝试过App.User.find({id:1,embed:'role'})但是它将GET请求作为/ users?id = 1&embed = role发送到路由到Rails控制器中的索引操作。
有没有更好的方法来处理这个? 我有完全访问权限来修改API。 对每个API请求进行侧载似乎有点矫枉过正,如果我可以根据查询参数决定关系,我会很棒。
有没有更好的方法来处理这个?
我想假设您使用RESTAdapter的最佳选择应该是将您的侧载定义为嵌入式,例如:
DS.RESTAdapter.map('App.User', {
role: { embedded: 'always' },
store: { embedded: 'always' }
};
这样, role
和store
将保存在同一记录中,因此不会产生单独的GET请求。
嵌入的两个可能值是:
always:加载时嵌入子记录,并将其保存在同一记录中。
load:加载时嵌入子记录,但应保存为独立记录。 为了使其工作,子记录必须具有ID。
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.