0

我是 ember 的新手,我想让 Route 使用字符串而不是 id 来获得更漂亮的 url。当我手动输入路径 example.com/#/Commune 时,这里的路由器代码正在工作。但是当使用 {{#linkTo "commune" name}}{{name}}{{/linkTo}} 时,url 正在正确更改但没有显示(如果我刷新浏览器它会显示)。任何的想法?

JS:

App.Router.map(function() {
    this.route('commune', {path: "/:commune_name"});
});

App.CommuneRoute = Em.Route.extend({
    model: function(params) {
        return App.CommunesController.findProperty('name', params.commune_name);
    }
});

如果我这样做:情况正好相反。(链接有效,但输入/刷新 aint)

App.CommuneRoute = Em.Route.extend({
    model: function(params) {
        return App.Commune.find(params.commune_name);
    }
});
4

1 回答 1

0

需要将序列化添加到我的路线:

App.CommuneRoute = Em.Route.extend({
    serialize: function(model, params) {
        return {
            name: model._data.attributes.name
        };
    },
    model: function(params) {
        return App.CommunesController.findProperty('name', params.commune_name);
    }
});
于 2013-04-29T13:41:44.233 回答