Ich habe zwei Modelle: Show
und Venue
. Show hat einen Veranstaltungsort, während jeder Veranstaltungsort zu Show gehört. Diese Bedingung ist in beiden Modelldateien mit has_one
& belongs_to
Anweisungen richtig definiert. Ich kann jedoch nicht auf den Veranstaltungsort zugreifen, indem ich show.venue
mache. Betrachten Sie den folgenden Code, wo s eine Show
Beispiel:Zugriff auf Modell nicht möglich has_one
logger.info("*********************")
logger.info("#{s.inspect}")
logger.info("#{Venue.find(s.venue_id)}") # Works
logger.info("#{s.venue}") # Causes a MySQL Error
logger.info("*********************")
ich wie die Linie fühlen, dass die MySQL-Fehler verursacht funktionieren sollte. Dies ist der Fehler:
ActiveRecord::StatementInvalid (Mysql::Error: Unknown column 'venues.show_id' in 'where clause': SELECT * FROM `venues` WHERE (`venues`.show_id = 95) LIMIT 1)
Ich habe keine Ahnung, warum es versucht venues.show_id
zuzugreifen. Irgendwelche Ideen?
Ich denke, ich bin ein bisschen verwirrt, weil ich denke so: "Wenn eine Show einen Veranstaltungsort hat, dann hat eine Show eine Location_id, um diesen Veranstaltungsort zu verweisen." Aber ich muss anfangen zu denken: "Wenn eine Show zu einem Veranstaltungsort gehört, muss sie die ID des Veranstaltungsortes haben, dem sie gehört." – Tony