我最近在名为“帖子”的列中添加了一个名为“评论”的新字段
我只想显示 Review = false 的帖子。
我正在尝试将正确的范围添加到我的 Posts 模型中来执行此操作。
这是我目前的范围。
default_scope order: 'posts.created_at DESC'
我最近在名为“帖子”的列中添加了一个名为“评论”的新字段
我只想显示 Review = false 的帖子。
我正在尝试将正确的范围添加到我的 Posts 模型中来执行此操作。
这是我目前的范围。
default_scope order: 'posts.created_at DESC'
Model < ActiveRecord::Base
def self.without_review
where(review: false) # or how ever you have the boolean in your db
end
end
当然还有一个规格
describe Model do
describe "::without_review" do
it 'loads posts without reviews' do
no_review = Model.create(review: false)
Model.create(review: true)
Model.without_reivew.all.should == [no_review]
end
end
end
只需使用类方法和链范围
您可以创建一个命名范围:
scope :unreviewed, where(:review => false)