处理路线时出错:未找到模型 - Ember.js指南

时间:2014-10-09 09:32:28

标签: ember.js ember-data

使用Ember.js指南学习Ember。在练习ToDo应用程序时,我将模型从todo重命名为tododata但我获得了Error while processing route: todos No model was found for 'tododata' Error: No model was found for 'tododata'})

将模型重命名为todo可以正常工作。不确定是什么问题(除了正在使用CamelCase的事实)。会欣赏一些指示

我的设置:

模型:在指南Todos.Todo中,但为了清晰起见,我将其命名为Todos.TodoData

Todos.TodoData = DS.Model.extend({
...
});

路由器:在指南...find('todo');中,我使用...find('tododata');

Todos.TodosRoute = Ember.Route.extend({
    model: function() {
        return this.store.find('tododata');
    }
});

控制人员:在指南中todo,我的是tododata

    Todos.TodosController = Ember.ArrayController.extend({    
        actions: {
        ...
                var todo = this.store.createRecord('tododata', {
                    ...
                });
        ...
        }
});

使用TodoData代替tododata工作正常,但我不确定这是否正确用法(因为我认为tododataTodoData的实例)。

1 个答案:

答案 0 :(得分:4)

在为该模型调用this.store时,您需要考虑使用camelCase。在this.store方法参数中有两种处理camelCase的选项:

  1. this.store.find(' todo_data&#39);
  2. this.store.find(' todoData&#39);
  3. Ember使用Ember.DefaultResolver查找您的请求。如果您需要,可以覆盖它的行为(https://github.com/emberjs/ember.js/blob/v1.7.0/packages/ember-application/lib/system/resolver.js#L115)。