我认为可以通过类似下面的方式来确定需要过滤掉的可审查类型:
class Reviewable < ActiveRecord::Base
def self.exclude_types
db_types = Reviewable.distinct.pluck(:type)
@exclude_types ||= db_types - Reviewable.types
end
...
end
然后我们可以利用这些类型来应用默认作用域。我们可能还需要为表添加一个 type 索引。