2011-10-26 30 views
0

我有兩個型號的Rails:find_each(:包括=>:用戶)從來沒有得到聯想

class User 
    has_one :entry 
end 

class Entry 
    belongs_to: user 
end 

在我的控制器我用find_each遍歷條目以電子郵件每個用戶。

Entry.find_each(:include => :user, :conditions => {:approved => true}) do |entry| 
    UserMailer.send_competition_open_email(entry, entry.user) 
end 

entry.user總是。 「:include =>:user」永遠不會找到用戶。

但我可以在我的SQL日誌中看到它試圖獲得它。但失敗。有任何想法嗎?

Entry Load (0.6ms) SELECT `entries`.* FROM `entries` WHERE `entries`.`approved` = 1 AND (`entries`.`id` >= 0) ORDER BY `entries`.`id` ASC LIMIT 1000 
    User Load (1.4ms) SELECT `users`.* FROM `users` WHERE (`users`.`id` IN (1,2,3)) 
    User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 

回答

4
class Entry 
    belongs_to: user 
end 

只是一個快速檢查,你注意到了結腸對接「belongs_to的」,而不是「用戶」?