Ruby on rails 用户有多个:用户,:到=>;:朋友-如何?

Ruby on rails 用户有多个:用户,:到=>;:朋友-如何?,ruby-on-rails,ruby,has-many-through,Ruby On Rails,Ruby,Has Many Through,这是我的代码: class Friend < ActiveRecord::Base belongs_to :user belongs_to :friend, :class_name => "User", :foreign_key => "friend_id" end class User < ActiveRecord::Base #... has_many :friends has_many :users, :through => :frien

这是我的代码:

class Friend < ActiveRecord::Base
  belongs_to :user
  belongs_to :friend, :class_name => "User", :foreign_key => "friend_id"
end

class User < ActiveRecord::Base
  #...
  has_many :friends
  has_many :users, :through => :friends
  #...
end
class-Friend“User”,:foreign\u key=>“friend\u id”
结束
类用户:朋友
#...
结束
当我现在开始添加用户时

user.users << user2
user.save

user.users您需要将
:source
属性添加到您的
中,该属性通过
关联具有许多属性

class User < ActiveRecord::Base
 has_many :friends
 has_many :users, :source => :friend, :through => :friends
end
class用户:friend,:至=>:friends
结束
现在,以下调用将起作用

u1.users << u2    
u.friends.last
# will print #<Friend id: 1, user_id: 1, friend_id: 4>

u1.users我认为您需要删除您的好友模式中的用户。通常有关于所有主题的非常好的教程