我试图弄清楚如何在 Ember route 使用段塞(模型的属性)来获取更干净的网址。
我希望我的路线如下所示:
http://www.server.com/#/newsitems/newsitem-title-in-slug-format/1
代替:
http://www.server.com/#/newsitems/1/1
如您所见,我想用实际的slug属性替换newsitem的ID。这是我的
Newsitem
模型的样子:App.Newsitem = DS.Model.extend({
slug: DS.attr('string'),
title: DS.attr('string'),
summary: DS.attr('string'),
});
slug属性以以下格式接收纯文本属性:
title-in-slug-format
这是我目前的路由器 map :
App.Router.map(function(){
this.resource('newsitems', function(){
this.resource('newsitem', {path:':newsitem_id'});
});
});
我尝试用
newsitem_id
替换newsitem_slug
,但这不起作用。还有其他建议吗?
最佳答案
非常感谢Michael为我指明了正确的方向。但是,我认为这是因为我正在使用rc-1版本的ember,因此不必为此覆盖模型 Hook 。我唯一要做的是:
App.NewsitemRoute = Ember.Route.extend({
serialize: function(model, params) {
return { newsitem_id: model.get('slug') };
}
});
关于ember.js - 在emberjs路由中使用子弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14946645/