Ich denke, es ist möglich, festzustellen, welche überprüfbaren Typen herausgefiltert werden müssen, indem man so etwas wie Folgendes macht:
class Reviewable < ActiveRecord::Base
def self.exclude_types
db_types = Reviewable.distinct.pluck(:type)
@exclude_types ||= db_types - Reviewable.types
end
...
end
Anschließend können wir diese Typen verwenden, um einen Standardbereich (default scope) anzuwenden. Wir werden wahrscheinlich einen type-Index zur Tabelle hinzufügen müssen.