2015-08-13 12 views
1

在Rails中,我添加了[GET] /photos/untagged的路線。如何控制Ember中的rails資源路徑選項?

它工作正常。

resources :photos do 
    collection do 
    get :untagged 
    end 
end 

但是,我無法在Ember中檢索。

Ember可能會將此響應解析爲對象。不是數組。我認爲它在Ember中的衝突show行動。我不想使用查詢參數/photos?query=untagged

export default Ember.Route.extend({ 
    model: function() { 
    return this.store.find("photo", "today"); 
    } 
}); 

我該如何解決這個問題?

謝謝。

回答

0

不要使用這樣的find,它用於通過id返回單個記錄。取而代之的是簡單的解決方案是重寫urlForQuery

export default Ember.RESTAdapter.extend({ 
    urlForQuery(query, modelName){ 
    if(query.untagged){ 
     delete.query.untagged 
     return this._super(query, modelName) + '/untagged'; 
    } 
    return this._super(query, modelName); 
    } 
}); 

然後使用它:

export default Ember.Route.extend({ 
    model() { 
    return this.store.query("photo", {untagged: true}); 
    } 
});