尝试在google上搜索所有内容,但无法在Ruby on rails上找到与CakePHP的beforeFind()回调类似的内容。
所以我目前有一个新闻模型。
class News < NewsRecord
end
新闻模型的查找方法已经在网站周围的许多地方用于各地的控制器中。我现在已经为新闻模型添加了一个publish_web(boolean)列。
我想在此新闻模型中添加一个条件,该条件会添加到此模型上发生的所有查找条件中。所以像这样:
class News < NewsRecord
:conditions => {:published_web => true}
end
答案 0 :(得分:0)
您可能想要使用范围,其中一种方法是
class News < NewsRecord
scope :published, where(published_web: true)
end
这将允许您执行News.published
并将返回符合范围内条件的所有记录。
其他方法是设置default_scope
,它将News
中的条件“替换”default_scope
表中的所有提取(请记住,这可能是“危险“)。
class News < NewsRecord
default_scope where(published_web: true)
end