2016-07-23 6 views
0

Ich bin ziemlich in Ruby on Rails Beziehungen stecken und ich schätze wirklich, dass Sie helfen.Wie erstellt man Follower und Follower in Rails?

Have Modell Benutzer

class User < ActiveRecord::Base 
    has_many :followers, :through => :follows, foreign_key: "followee_id" 
    has_many :followees, :through => :follows, foreign_key: "follower_id" 
end 

und Modell Folgen

class Follow < ActiveRecord::Base 
    belongs_to :followee, class_name: "User" 
    belongs_to :follower, class_name: "User" 
end 

aber wenn Sie möchten, neue Follower erstellen wie:

user.followers << User.first 

das Ergebnis SystemStackError ist

Vielen Dank für jede Hilfe!

+1

Statt 'foreign_key: "followee_id"' Sie verwenden sollten 'Quelle: followee' –

Antwort

1

Sie haben so etwas versuchen:

class User < ActiveRecord::Base 
     has_many :follower_follows, foreign_key: :followee_id, class_name: "Follow" 
     has_many :followers, through: :follower_follows, source: :follower 
     has_many :followee_follows, foreign_key: :follower_id, class_name: "Follow" 
     has_many :followees, through: :followee_follows, source: :followee 
    end 

Hier follower_follows und followee_follows sind beitreten Tabellen und Quelle: Folger entspricht dem BELONG_TO: Folger Identifizierung in der Folgemodell und Quelle: followee Spiele mit der BELONG_TO: followee Identifikation im Follow-Modell

ich denke, dies in Ihrem Fall funktionieren würde

Verwandte Themen