:를 통해 연결 :레일 : 추종자에 대한 테이블을 통해 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