这是我使用 EmberJS 和 Ember-CLI 的第一个项目。 我运行以下命令:
ember new site //version: 0.1.2
ember generate resource categories
我得到以下答案和测试:
create app/models/category.js
create app/routes/categories.js
create app/templates/categories.hbs
ember generate resource category
我得到以下答案和测试:
create app/routes/category.js
create app/templates/category.hbs
identical app/models/category.js
router.js 文件具有:
Router.map(function() {
this.resource('categories', function() { });
this.resource('category', { path: 'categories/:category_id' }, function() { });
});
当我访问 dev:4200/categories/1
时,出现以下错误:
GET http://dev:4200/categories/1 404 (Not Found)
Error while processing route: category.index
谁能告诉我我错过了什么? 所有文件都是由 ember-cli 在默认状态下生成的。
编辑:我有一个 models/category.js
export default DS.Model.extend({
name: DS.attr()
});
在routes/category.js
export default Ember.Route.extend({
model: function(params){
console.log({category_id: params.category_id});
// return this.store.find('category', params.category_id);
}
});
路由dev:4200/categories/1
有效,console.log显示值Object {category_id: "1"}
,但返回该值。 store
我收到上面的错误。
最佳答案
我通过创建一个 FixtureAdapter 并向模型添加一些装置来解决这个问题。
ember 生成适配器应用程序
export default DS.FixtureAdapter.extend({
});
models/category.js
var Category = DS.Model.extend({
name: DS.attr('string'),
img: DS.attr('string'),
cnt: DS.attr('number')
});
Category.reopenClass({
FIXTURES: [
{
id: 1,
name: "Writing a blog in Ember",
cnt: 8,
},
{
id: 2,
name: "Writing a blog",
cnt: 5
}
]
});
export default Category;
该错误具有误导性。现在效果很好。谢谢。
关于ember.js - Ember-cli 处理路由 : category. 索引时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398528/