【发布时间】:2012-07-19 06:47:51
【问题描述】:
我正在使用带有 rails 和 MongoDB 的 ember-data,并且在 _id 字段中存储 ID 的方式存在问题。
Ember-data 将使用 id 作为 ID 的默认字段,因此我尝试像这样覆盖它:
App.User = DS.Model.extend
primaryKey: "_id"
name: DS.attr "string"
image: DS.attr "string"
这似乎在大多数情况下都有效,但在某些情况下,我会从 ember 中得到例外:
未捕获的错误:断言失败:您的服务器返回了一个带有 key _id 但你没有映射
我怀疑这可能是 ember-data 中的一个错误,因为它仍在大量开发中,但我试图找到一种方法来将 _id 映射到 Rails 中服务器端的 id?我正在使用 mongoid 进行 mongo 映射。
【问题讨论】:
-
Mongoid 一般为你把 id 别名为 _id ......当你只是作为 id 离开时你有什么问题?
-
它映射到我遇到问题的 ember-data。我从服务器得到一个实体,json 是 {_id:5008b66d330eb996c100000f} 而不是 {id:5008b66d330eb996c100000f}。然后我从 ember-data 收到映射错误。
-
我发现我的问题实际上是用于检索实体的 JSON 响应的格式。就像 {_id: 5008b66d330eb996c100000f} 应该是 {entity: {_id: 5008b66d330eb996c100000f}}
标签: ruby-on-rails mongodb mongoid ember.js ember-data