自我指涉協會

自引用關聯用於將模型與其自身相關聯。最常見的例子是,管理朋友和他的追隨者之間的關聯。

恩。

rails g model friendship user_id:references friend_id:integer

現在你可以關聯模特了;

class User < ActiveRecord::Base
  has_many :friendships
  has_many :friends, :through => :friendships
  has_many :inverse_friendships, :class_name => "Friendship", :foreign_key => "friend_id"
  has_many :inverse_friends, :through => :inverse_friendships, :source => :user
end

而另一個模型看起來像;

class Friendship < ActiveRecord::Base
  belongs_to :user
  belongs_to :friend, :class_name => "User"
end