Frage

Dies ist wahrscheinlich ziemlich einfach, aber ich habe noch nicht gelungen, meinen Kopf, um das Problem zu wickeln.

Ich habe 3 Tabellen ... (na ja mehr als das), aber in diesem Szenario 3, die Materie.

Orte Buchungen und Bewertungen

Orte has_many Buchungen

Jede Buchung has_one Bewertung (da der Benutzer nur einmal Raten) und belongs_to (a) Ort

Bewertungen BELONG_TO (a) Buchung

Also auch wenn Buchungen nur eine Bewertung hat, Orte has_many Bewertungen durch Buchungen als Orte hat auch viele Buchungen

aber das scheint nicht zu funktionieren? Der ganze Rest scheinen.

Buchungen hat place_id und Bewertungen haben eine booking_id, und ich habe mit allen anderen has_many durch Verbände erfolgreich ... nur nicht die has_one? Irgendwelche Ideen? Dank

Außerdem: Wenn ich Buchungen zu has_many ändern. Bewertungen es funktioniert ... aber Buchungen werden immer nur eine Bewertung pro Buchung haben ... so ist dies nicht wie eine gute Sache scheint

Invalid source reflection macro :has_one for has_many :ratings, :through => :bookings.  Use :source to specify the source reflection.
War es hilfreich?

Lösung

has_many :through funktioniert nicht mit has_one Beziehungen auf dem Modell verbinden; siehe die folgenden Rails Tickets für Details:

Wenn möglich, die beste Lösung ist wahrscheinlich die Beziehungen so zu modifizieren, dass eine Buchung eine Bewertung belongs_to statt has_one Rating.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top