好的,目前我的模型中有以下内容:
has_many :current_monitorings, :class_name => "Monitoring",
:conditions => proc { [ 'monitorings.created_at > ?', Time.now.midnight ] }
我想添加一个条件来检查outlet is_active属性是否设置为false。我试着这样做:
has_many :current_monitorings, :class_name => "Monitoring",
:conditions => proc { [ 'monitorings.created_at > ? AND outlet.is_active = ?', Time.now.midnight, 'false' ] }
然而,这不起作用。我可能很愚蠢,但我们非常感谢您的帮助!
在您的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