2012-04-04 15 views
2

Ich habe ein Benutzermodell, ein Mitgliedschaftsmodell und ein Clubmodell. Ich habe die folgenden Verbänden eingerichtet:Wie richte ich eine has_one through-Verbindung über eine has_many-through-Verbindung ein?

Club.rb

has_many :memberships 
has_many :members, through: :memberships 

Membership.rb

belongs_to :user 
belongs_to :club 

Was will ich jetzt ein has_one haben: Veranstalter zum Club, die einen einzelnen Benutzer abruft Datensatz basierend auf dem Mitglied, bei dem das Organisatorattribut im Join-Modell auf "true" gesetzt ist.

Wie richte ich diese has_one-Zuordnung ein? Ich habe versucht, die Mitgliedschaften Association durchzugehen, aber eine Ausnahme wird ausgelöst, dass die Mitgliedschaften eine Sammlung ist und Singular sein muss.

Antwort

2

Ich glaube, ich dachte, es nur ... aber falls jemand anderes muss wissen ..

has_one :membership, conditions: ['memberships.organizer = ?', true] 
has_one :organizer, through: :membership, source: :user 
Verwandte Themen