如何使用具有命名范围的脏对象?
这个named_scope工作正常。
named_scope :recently_tested, lambda{|test_id|
{
:conditions => ["test_id = ? and status = ?",test_id,PUBLISHED],
:order => "updated_at DESC"
}
}
我想加强它。像
这样的东西 named_scope :recently_tested, lambda{|test_id|
{
:conditions => ["test_id = ? and status = ? and status_was = ?",test_id,PUBLISHED,PUBLISHED],
:order => "updated_at DESC"
}
}
是否可以在named_scope中使用脏对象?还有其他方法可以处理这种情况吗?
答案 0 :(得分:2)
更改帮助程序函数status_was
实际上不是数据库中的字段。
更改对象后,changes
,changed?
和其他助手(例如status_was
)只会保留,直到您保存对象为止。
如果您希望此功能持续存在,则必须将status_was字段添加到模型中,并将其填充到before_save
中。我不会称它为status_was
,因为你将覆盖辅助函数。