I love the approach of using FILTER_ATTRIBUTES - but filtering should be optional e.g. FILTER_ATTRIBUTES = [ :paid, :album_status ].freeze paid is a boolean most of the time - I don't want to filter on paid. So the filter option needs three states: - don't mind - true - false