【发布时间】:2009-05-02 00:06:50
【问题描述】:
我有两个模型:Show 和 Venue。表演有一个场地,每个场地都属于表演。此条件在两个模型文件中都使用has_one 和belongs_to 语句正确定义。但是,我无法通过show.venue 访问会场。考虑以下代码,其中 s 是 Show 实例:
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。有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby activerecord relational-database has-one