2010-12-31 7 views
0

Ich habe Users, Hosts und Checkins.Assoziationsfunktion in Schienen

Users -> has_many -> Hosts -> has_many -> Checkins 

Checkin -> belongs_to -> Host -> belongs_to -> User 

Wie kann ich meine eigene SQL ohne das Schreiben einer Abfrage für alle checkins für einen bestimmten Benutzer leicht machen?

+1

Ich lese das als "Hühner" mit einem Akzent :) – sscirrus

Antwort

2

eine has_many :through Verein wie folgt verwenden:

has_many :checkins, :through => :hosts 

Sie können dann einfach checkins als direkte Verbindung verwenden. Whoo hoo!

+0

Ich habe das schon gestern ohne Glück versucht ... Ich muss den falschen Namen für einen Schlüssel haben ... Ich werde dies untersuchen und mit meinen Ergebnissen aktualisieren. Vielen Dank! – Ben

+0

Nun, es hat diesmal gut funktioniert. Ich denke, vielleicht, weil ich gerade von webbrick zu passagier/apache2 gewechselt hatte und vielleicht ein alter Code zwischengespeichert wurde? Ich habe noch nicht gelesen, wann (wenn überhaupt) Apache Änderungen neu lädt, ohne den Dienst neu zu starten. Danke noch einmal. – Ben

+0

@Ben Gern geschehen! :) –