gpt4 book ai didi

mysql - 具有命名范围的脏对象?

转载 作者:行者123 更新时间:2023-11-29 07:08:02 25 4
gpt4 key购买 nike

如何在命名范围内使用脏对象?

这个 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 一起使用?还有其他方法可以处理这种情况吗?

最佳答案

更改辅助函数 status_was 实际上不是您数据库中的一个字段。

更改对象后,changeschanged? 和其他助手(例如您的 status_was)只会保留到您保存对象为止。

如果您希望它持续存在,您必须将 status_was 字段添加到您的模型中,并简单地将其填充到 before_save 中。不过,我不会将其称为 status_was,因为您会覆盖辅助函数。

关于mysql - 具有命名范围的脏对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com