我最近在名为“帖子”
的专栏中添加了一个名为“评论”的新字段我想只显示Review = false的帖子。
我正在尝试将正确的范围添加到我的帖子模型中来执行此操作。
这是我目前的范围。
default_scope order: 'posts.created_at DESC'
答案 0 :(得分:1)
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
只需使用类方法和链范围
答案 1 :(得分:1)
您可以创建命名范围:
scope :unreviewed, where(:review => false)