[英]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.