Ember 根据参数名称为 url 参数返回未定义

Ember returning undefined for url parameter depending on the name of the parameter

我遇到了 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

但是,如果我将参数更改为 release_date 以外的几乎任何参数,它将按预期工作(即,在路由器和路由对象本身的定义中更改它)。示例:

HI rel_date, foo
HI release_d, foo

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

尝试:

rm -rf tmp/

并重启你的服务器。

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

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