Ember为url参数返回undefined,具体取决于参数的名称

时间:2015-03-25 01:52:20

标签: javascript ember.js ember-cli

我在Ember的路由参数中遇到了一些奇怪的行为。它取决于路由参数的名称。

我有一个看起来像这样的路由器

Router.map(function() {
  this.resource('movies', { path: '/movies/:release_date' });
});

以及看起来像这样的路线

export default Ember.Route.extend({
  model: function(params) {
     console.log('HI ' + Ember.keys(params) + ', ' + params.release_date);
     return this.store.findAll('movie', params.release_date);
  }
});

当我访问路线/movies/foo时,我在控制台中看到了这个

HI release_date, undefined

但是,如果我将param更改为除release_date以外的任何其他内容,它将按预期工作(即,在路由器和路由对象本身的定义中更改它)。例子:

HI rel_date, foo
HI release_d, foo

为什么会这样?有没有办法让release_date作为参数?

1 个答案:

答案 0 :(得分:1)

尝试:

rm -rf tmp/

然后重新启动服务器。

与Ember.js问题相比,您的应用更可能是拼写错误。

这有效:http://emberjs.jsbin.com/pefudesaya/1/edit?html,js,console,output