页面刷新页面错误 Ember 应用

Page error on page refresh Ember app

我有一个正在开发的 ember 应用程序,一切正常,除非我在嵌套路由上刷新页面,例如。 /projects/1 我收到以下错误:

Assertion Failed: You may not pass未定义as id to the store's find method

我相当确定这与我设置路由的方式有关,但似乎无法重新组织它们来修复它。

它们看起来像这样:

App.Router.reopen({
  location: 'auto',
  rootURL: '/'
});

App.Router.map(function() {
  this.route('projects', { path: '/'});
  this.route('project', { path: '/projects/:id' });
});

任何帮助都会很棒!谢谢。

我给你的第一个建议是改变 :id segment do :project_id - it's how they define it in documentation. 所以你的路由器代码看起来像:

App.Router.map(function() {
  this.route('projects', { path: '/'});
  this.route('project', { path: '/projects/:project_id' });
});

如果这没有帮助,请创建:

App.ProjectRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.find('project', params.project_id);
  },
});

如果将 undefined 传递给 store.find 时仍然出现错误,请尝试 console.log(params) 并查看 project_id 是否已定义并与 URL 中的值匹配.