这是我与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"}
,但return this.store
我收到错误。
答案 0 :(得分:3)
我通过创建一个FixtureAdapter并在模型中添加一些灯具来解决它。
ember generate adapter application
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;
该错误具有误导性。现在它工作得很好。感谢。