我正在尝试自定义网址。
更具体地说,我已经做的是: mypage.com/details/1
我想做的是: mypage.com/details/john-doe
当然,我想要与现在完全相同的行为,唯一的区别是自定义字符串而不是id
这是我的DS模型
App.Images.FIXTURES = [
{
id:1,
name: "John",
lastName: "Doe",
age: 25,
customUrl: "john-doe"
},
{
id:2,
name: "John",
lastName: "Doe",
age: 31,
customUrl: "john-doe1"
}];
*请注意customUrl属性,该属性是唯一的。
我的路线:
App.Router.map(function(){
this.resource("details", {path: 'details/:image_id'});
});
根据html:
{{#linkTo 'details' this}}The details{{/linkTo}}
我有什么选择?在html中放置“this”会自动获取ID。我尝试了this.customUrl没有运气(我在网址中得到了“未定义”值)。
感谢您的帮助!
答案 0 :(得分:0)
您可以覆盖路由器中的serialize
以返回customUrl
而不是id
App.DetailsRoute = Ember.Route.extend({
// ....
serialize: function(model) {
return { details_id: model.get('customUrl') };
}
});