对于用户模型,我有一个过滤器来检查用户的预订状态,该状态由整数值(0,1或2)表示。
使用以下代码实现User ActiveAdmin索引页面上的过滤器:
filter :booking_status, as: :select
但是,这会导致下拉选项为0,1或2。
我更愿意,如果我可以将自己命名为" Incomplete"," Pending","确认"当管理员用户从下拉列表中选择它们时。
有没有办法在不改变模型中表示booking_status的方式的情况下这样做?
答案 0 :(得分:9)
假设booking_status
是模型中的枚举字段,您可以使用:
filter :booking_status, as: :select, collection: ModelName.booking_statuses
如果booking_status
不是枚举字段,您可以将常规哈希传递给collection
选项,例如:
filter :booking_status, as: :select, collection: {'Incomplete' => 0, 'Pending' => 1, 'Complete' => 2}