Ash*_*ngh 1 ruby-on-rails associations has-many model-associations
我正在使用facebook api从fb中获取用户.
我想将用户存储在我的模型中 User
我正在使用has many through
与商店用户的关系
我的user
模型中有用户模型关系.
has_many :friends, :through => :user_friends, :class_name => "User", :foreign_key => "friend_id"
Run Code Online (Sandbox Code Playgroud)
User friends
模型中间表以获取用户的朋友.
belongs_to :user
belongs_to :user, :foreign_key => "friend_id"
Run Code Online (Sandbox Code Playgroud)
用户朋友user_id
和friend_id
我在迁移中添加了列.
我.friends
在用户对象上使用时出错.
ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the association :user_friends in model User
Run Code Online (Sandbox Code Playgroud)
有人能帮忙吗?提前致谢.
您需要检查自我参照协会.显然你缺少一些概念.您不能在单个模型中添加具有相同名称的2个关联(只有其中一个会响应).
您应该添加has_many :user_friends
,但仍然会丢失关联的另一面,请检查以下示例:
# user.rb
has_many :user_friends
has_many :friends, :through => :user_friends
has_many :inverse_friendships, :class_name => "UserFriend", :foreign_key => "friend_id"
has_many :inverse_friends, :through => :inverse_friendships, :source => :user
Run Code Online (Sandbox Code Playgroud)
# user_friends.rb
belongs_to :user
belongs_to :friend, :class_name => "User"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
63 次 |
最近记录: |