简单过滤器
SimpleFilter 是一个非常简单的 ruby DSL ,用于为 ActiveRecord 范围编写过滤器(或搜索)类。 唯一的职责是将参数映射到定义的范围。
它目前适用于 ActiveRecord 4.0 或更高版本。
安装
不幸的是,已经有一个名为simple_filter的 gem,但不用担心,您只需要在 Gemfile 中引入 lib:
gem 'simple-filter' , require : 'simple_filter'
用法
使用搜索类非常简单:
FooSearch . new ( params = { } ) . scoping ( Model . all ) . search
params应该是包含所有所需过滤器的散列, scope是过滤器将应用到的当前模型范围,例如:
class CampaignsController < App