【发布时间】:2015-11-24 23:21:54
【问题描述】:
我希望能够过滤活动管理员中的所有软删除用户。我已经尝试了以下代码,但它似乎没有按预期工作?
filter :deleted_at, :as => :boolean, :collection => {:Yes => nil, :No => ''}
【问题讨论】:
我希望能够过滤活动管理员中的所有软删除用户。我已经尝试了以下代码,但它似乎没有按预期工作?
filter :deleted_at, :as => :boolean, :collection => {:Yes => nil, :No => ''}
【问题讨论】:
它不会起作用,因为它不是正确的方法:
filter :deleted_at, :as => :boolean, :collection => {:Yes => nil, :No => ''}
as: :boolean 不是 AA 命令。
试试这个:
filter :deleted_at, as: :select, collection: [['Yes', nil], ['No', '']]
值是根据你的!如果数据库包含真正的布尔字段,则更改它:
filter :deleted_at, as: :select, collection: [['Yes', true], ['No', false]]
你也可以使用作用域来实现它:
scope :deleted, default: true
scope :not_deleted
将这些范围添加到您的模型中:
scope :deleted, -> { where('deleted_at is not null') }
scope :not_deleted, -> { where(deleted_at: nil) }
【讨论】: