2013-01-06 37 views
0

確定這是錯誤,我有導軌的has_many:throught打破

Mysql2::Error: Unknown column 'events.user_id' in 'where clause': SELECT `users`.* 
FROM `users` INNER JOIN `events` ON `users`.`id` = `events`.`author_id` 
WHERE `events`.`user_id` = 1 

產生這種衝突是在user模型線

has_many :events_created, :through => :events, :source => :author 

所有的一切我知道,上面的錯誤發生的原因是在event模型中有以下行(它在我的db中搜索events.user_id而不是events.author_id

belongs_to :author, :class_name => "User"

有沒有什麼辦法讓它搜索這個集合中的events.author_id

回答

1
belongs_to :author, :class_name => "User", :foreign_key => "author_id" 
+0

有用,由於正確的是:'的has_many:事件,:foreign_key => 「AUTHOR_ID」 的has_many:events_created,:通過=>:事件,:源=>:author'在用戶控制器 – Diolor