我有以下型号: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