我有以下型號:Rails的錯誤:加入+包括
Image.find(:all, :conditions => ["images.person_id = ? AND preferences.image_privacy = ?", user.id, PRIVACY_PUBLIC],
:joins => [:person => :user_preference], :include => :person)
:
class Person < ActiveRecord::Base
has_many :images
has_one :preference
end
class Image < ActiveRecord::Base
belongs_to :person
end
class Preference < ActiveRecord::Base
belongs_to :person
end
我試圖獲取該是公開的所有圖像,並同時渴望負荷誰擁有這些圖片的人
看來Rails不喜歡:include(我相信是因爲:人被引用到2個模型中)。這是我的錯誤(這消失的時候我把:包括選項):
「的ActiveRecord :: StatementInvalid的:mysql ::錯誤:沒有唯一的表/別名:‘人’」
我能得到通過寫出實際的JOIN命令作爲字符串並將其傳遞給:include選項,但這不是Rails-y,所以我希望有一個更簡潔的方法來做到這一點。
任何幫助將不勝感激。
謝謝!
你能在這裏粘貼SQL查詢的,你應該能夠看到日誌 – 2009-09-26 09:26:27