好的,目前我的模型中有以下内容:
has_many :current_monitorings, :class_name => "Monitoring",
:conditions => proc { [ 'monitorings.created_at > ?', Time.now.midnight ] }
我想为此添加一个条件,检查插座is_active属性是否设置为false。我尝试这样做:
has_many :current_monitorings, :class_name => "Monitoring",
:conditions => proc { [ 'monitorings.created_at > ? AND outlet.is_active = ?', Time.now.midnight, 'false' ] }
然而,这不起作用。我可能很愚蠢,但是非常感谢任何帮助!
答案 0 :(得分:2)
在您的sql中,outlet.is_active
应为outlets.is_active
。假设is_active是一个布尔字段,只需传递false
而不是"false"
:
试试这个:
has_many :monitorings
def current_monitorings
monitorings.joins(:outlets).where(
'monitorings.created_at > ? AND outlets.is_active = ?',
Time.now.midnight,
false
)
end