在Rails 4.0后端,我有以下内容:
class User < ActiveRecord::Base
has_many :friendships, dependent: :destroy
has_many :friends, through: :friendships
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, class_name: User
end
我想将用户的好友列表传递给JSON,所以我写了一个序列化器:
class UserSerializer < ActiveModel::Serializer
embed :ids, include: true
has_many :friends, include: true
在余烬方面,我正在尝试使用以下User
模型加载JSON:
Nektere.User = DS.Model.extend
friends: DS.hasMany('user')
但这给了我一个错误
Assertion failed: No model was found for 'friend'
Uncaught TypeError: Cannot set property 'typeKey' of undefined
它要求我提供Friend
模型,但Friend
是User
。我猜我需要告诉ember-data friends
数组实际上是User
个数组的记录,但如果friends: DS.hasMany('user')
没有这样做,那么我不知道怎么样。如何将此数据结构正确加载到ember中?
答案 0 :(得分:1)
在AMS中你可以指定根,在你的情况下你的朋友关系的根将是用户,这样的事情应该工作
has_many :friends, include: true, root: :users