0

我有一条具有动态段的路线:

this.resource('dog', {path: '/dog/:pet_id'});

出于调试目的,我想linkTo使用“666”的特定动态段。但

{{#linkTo 'dog' '666'}}Click to go to dog{{/linkTo}}

给我“未定义”而不是“666”。你知道为什么吗?

看到它在 jsbin 上运行。请参阅jsbin 上的代码

4

2 回答 2

1

我通过删除未使用的位并切换到夹具适配器来稍微清理代码。这是一个不需要serialize方法的工作版本:http: //jsbin.com/iwiruw/347

最终,除了使用较新版本的 Ember 并正确设置实际的模型类和数据之外,无需更改基本代码。

于 2013-08-13T22:26:32.213 回答
1

您的工作 jsbin:http: //jsbin.com/iwiruw/346/edit

帮助器linkTo不接受字符串作为参数,而是从模型中获取路由器映射中定义的动态段。如果您手头没有模型,请忽略参数,您需要做的就是挂钩您的serialize功能DogRoute (如果您没有定义,只需定义它以指示 ember 使用您的而不是自动定义)并返回一个包含您的路线期望的动态段的对象/散列,这可以是您想要的任何东西:

App.DogRoute = Ember.Route.extend({
  serialize: function(model) {
    return {pet_id: 666};
  }
});

希望能帮助到你。

于 2013-08-13T22:19:17.557 回答