【发布时间】:2013-11-17 07:17:09
【问题描述】:
我想在 Ember 中使用动态段路径而不使用 :id 属性
根据 Ember 指南,我使用 serialize 方法来实现这一点。
这是我的路由器:
App.Router.map(function() {
this.resource("orders", function(){
this.resource('order', { path: ':order_sequence'}, function(){
this.route('edit');
})
});
});
还有我的路线:
var OrderRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('order', params.order_sequence)
},
serialize: function(model) {
return { order_sequence: model.get('sequence') };
}
});
module.exports = OrderRoute;
但是,我的 URL 仍然使用路径中的 id 属性而不是 sequence 属性..
有什么想法吗?
【问题讨论】:
-
我认为您的
OrderRoute没有被使用。所以默认情况下,ember 会生成一个使用 id 的默认行为的路由,而不是 :order_sequence。您可以在您的序列化方法中仔细检查这一点,并在其中添加警报或 console.log。你能向我确认吗?另外你在使用 ember-tools 吗?订单路径的文件名和位置是什么? -
所以我在我的序列化方法中添加了一个警报,它实际上会在页面加载时触发。是的,我正在使用 ember-tools。我的 order_route 文件的路径是:/js/routes/order_route.js
-
顺便说一句,我使用 FIXTURES 作为我的示例数据,不确定这是否与它有关..
-
不,我很确定我们没有正确理解您的问题。如果我在下面的回答是正确的,我们应该更新您的问题以更正确地显示您的问题。
标签: ember.js ember-router