我第一次尝试了Rails 3中的join,它无法实现最基本的功能,所以肯定缺少一些重要的东西。给定的
class Member < ActiveRecord::Base
belongs_to :status
...
end
class Status ActiveRecord::Base
has_many :members
...
end当我尝试使用连接时,在控制台中测试一个来自Rails指南的示例
time_range = (Time.now.midnight - 1.day)..Time.now.midnight
Status.joins(:members).where('member.created_at' => time_range)我收到一条错误信息
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'member.created_at' in
'where clause': SELECT `statuses`.* FROM `statuses` INNER JOIN `members` ON
`members`.`status_id` = `statuses`.`id` WHERE (`member`.`created_at` BETWEEN
'2011-03-26 23:00:00' AND '2011-03-27 23:00:00')这两种模型都有created_at列,这是可行的:Member.where(:created_at => time_range)。我尝试过几个排列,使用了不同的列,但是每次尝试连接时都会得到相同的Unknown column错误。
发布于 2011-03-28 08:18:56
)当您显式使用db表名时,请记住,它是以复数形式的rails约定。
https://stackoverflow.com/questions/5456260
复制相似问题