Ember.js Rails:加载路径时出错:错误:未找到' 0'

时间:2014-05-29 06:47:57

标签: ruby-on-rails ember.js

在尝试将Ember.js应用程序连接到Rails 3.2 API时,我一直收到“找不到'0'模型”错误。我的设置如下。任何帮助将不胜感激。

项目控制器(Rails)

def index

  @items = Item.all

  respond_to do |format|
    format.html
    format.json { render json: @items, root: true }
  end

end

App.js(Ember.js)

App = Ember.Application.create();

App.Router.map(function() {
  this.resource('items', function() {
    this.route('backlog');
    this.route('board');
  });
});


App.ItemsRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('item');
  }
});

当Ember应用程序向/ items

发出请求时的服务器响应
[
  {
    "item": {"id":1,"item_type":"Item","name":"Test item"}
  },
  { 
    "item": {"id":2,"item_type":"Item","name":"Test item 2"}
  }
]

1 个答案:

答案 0 :(得分:2)

假设您正在使用Ember-Data,则您的JSON格式不正确。它的记录相当差,所以不要感觉不好。 RESTAdapter有一个简短的示例,但JSON API会详细介绍。在您的情况下,我认为您希望您的回复看起来像这样:

{
    "items": [
        { "id": 1, ... },
        { "id": 2, ... }
    ]
}