emberjs:动态网址

时间:2013-08-20 13:34:49

标签: ember.js custom-url

我正在尝试自定义网址。

更具体地说,我已经做的是: 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没有运气(我在网址中得到了“未定义”值)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以覆盖路由器中的serialize以返回customUrl而不是id

App.DetailsRoute = Ember.Route.extend({
    //   ....
    serialize: function(model) {
        return { details_id: model.get('customUrl') };
    }
});