私はUserモデルとユーザーを持っているが、多くのフォロワーを持っており、以下:接続を介して:レール:信者のためのテーブル経由にhas_many、以下
has_many :connections
has_many :followers, :through => :connections, :foreign_key => :follower_id, :source => :user, class_name: User
has_many :following, :through => :connections, :foreign_key => :user_id, :source => :user, class_name: User
私の接続テーブルがUSER_ID(ユーザーが守られている)とfollower_idを持っています(フォローしているユーザー)。
私は、新しい接続を作成することができます
Connection.create(user_id: 1, follower_id: 500)
私は接続が作成されていることを確認し、まだ私は、それぞれのユーザーからこれをアクセスすることはできません。
u = User.find(1)
u.followers => []
u.following => []
u = User.find(500)
u.followers => []
u.following => []
はどこで間違ったんですか?
恐ろしい - それはu.followersに取り組んで、まだuのための空白として現れています。以下。どんな考え? –
ユーザー1はユーザー2の後に開始します。私はuser1.following ==> []を呼び出します。 user2.following ==> [user2] –
接続には2つのhas_many関係が必要です。上記の例を数分で投稿する – bcd