У меня есть две модели: Show
и Venue
. Шоу имеет одно место, в то время как каждое место принадлежит шоу. Это условие определено в обоих файлах модели с правильными has_one
& belongs_to
. Однако я не могу получить доступ к месту проведения, выполнив show.venue
. Рассмотрим следующий код, где s является Show
экземпляр:не может получить доступ к модели, связанной с 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("*********************")
Я чувствую, как линия, которая вызывает ошибку MySQL должен работать. Это ошибка:
ActiveRecord::StatementInvalid (Mysql::Error: Unknown column 'venues.show_id' in 'where clause': SELECT * FROM `venues` WHERE (`venues`.show_id = 95) LIMIT 1)
Я понятия не имею, почему он пытается получить доступ к venues.show_id
. Есть идеи?
Я думаю, я немного смутился, потому что я так думаю: «Если на шоу есть место, тогда на шоу есть место встречи, чтобы указать, что место встречи». Но я должен начать думать: «Если шоу BELONGS в место проведения, это должен быть идентификатор места, к которому он ПРИНИМАЕТ». – Tony