我有一個關於在燼路由器中基於非id的動態段的問題。 我正在使用Ember.VERSION:1.0.0-rc.1如何在ember路由器中使用非id動態段?
我有一個嵌套資源,我需要在路徑中使用url參數而不是id。 但是對json api的ajax調用需要請求一個id。
所以在我的車把模板,我有:
{{#each thing in controller}}
{{#linkTo 'thing' thing.url}}{{thing.name}}{{/linkTo}}
{{/each}}
的東西路線是這樣的:
App.ThingsRoute = Ember.Route.extend({
model: function() {
return App.Thing.find();
}
});
和路由器:
App.Router.map(function() {
this.resource('things', function() {
this.resource('thing', {path:':thing_url'});
});
});
如何將網址映射解決的事情ID?
因爲你不是通過id查找,而是通過其他字段查找,所以'find'行應該是:'返回App.Thing.find('url',params.thing_url);' – 2013-03-02 13:12:17
也許我的問題還不夠清楚。與此資源相關的JSON端點正在使用id爲「thing」的實例提供服務。這意味着ember必須通過id向服務器發回請求,但是我想使用它的url參數來顯示'thing'。我已經下載了一個'東西'的集合,所以我的問題是我可以將'東西'的路線與該集合關聯起來以便通過ID進行查找?否則,服務器將返回404,因爲(例如)mydomain.com/things/thing_url路由不存在,但是mydomain.com/things/1。 – i0n 2013-03-02 13:36:52
所以在這種情況下,您還需要實現序列化方法。並做一些類似於:'return {id:object.get('url')}'。 – ahawkins 2013-03-02 22:04:12