Rails 活跃的管理员过滤器 deleted_at
Rails active admin filter deleted_at
我希望能够过滤活动管理员中的所有软删除用户。我尝试了以下代码,但它似乎没有按预期工作?
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) }
我希望能够过滤活动管理员中的所有软删除用户。我尝试了以下代码,但它似乎没有按预期工作?
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) }