ActiveAdmin自定义选择过滤器的下拉菜单名称
问题描述:
对于用户模型,我有一个过滤器来检查用整数值(0,1或2)表示的用户的预订状态。ActiveAdmin自定义选择过滤器的下拉菜单名称
用户ActiveAdmin索引页上的过滤器被用下面的代码来实现的:
filter :booking_status, as: :select
然而这导致在下拉选项被为0,1或2。
我宁愿如果当管理员用户从下拉列表中选择他们时,我可以自己将其命名为“不完整”,“待定”和“已确认”。
是否有这样做不改变booking_status如何在模型表示的方法吗?
答
假设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}