1

我有一个看起来像这样的服务器响应:

comments: [
  0: {
    body: "test3",
    created_at: "2013-06-27T22:27:47Z",
    user: {
        email: "test@test.com",
        id: 1,
        name: "Tester"
    }
  }
]

和 ember 模型:

App.Comment = DS.Model.extend({
  user: DS.belongsTo('App.User'),
  body: DS.attr('string')
});

App.User = DS.Model.extend({
  name: DS.attr('string'),
  email: DS.attr('string'),
});

如何根据服务器的响应创建 ember 用户模型?

4

1 回答 1

1

如果您使用 rails active 模型序列化程序,解决方案是embed :ids, include: true

应用程序/序列化程序/comment_serializer.rb

class CommentSerializer < ActiveModel::Serializer
  embed :ids, include: true
  attributes :created_at, :body
  has_one :user
end

就像active_model_serializers 的自述文件所说的那样,这将产生:

{
   "users":[
      {
         "id":1,
         "name":"Tester",
         "email":"test@test.com",
      }
   ],
   "comments":[
      {
         "event":"commented",
         "created_at":"2013-06-27T22:27:47Z",
         "body":"test3",
         "user_id":1
      }
   ]
}
于 2013-06-28T02:46:04.177 回答