ActiveAdmin自定义选择过滤器的下拉菜单名称

问题描述:

对于用户模型,我有一个过滤器来检查用整数值(0,1或2)表示的用户的预订状态。ActiveAdmin自定义选择过滤器的下拉菜单名称

用户ActiveAdmin索引页上的过滤器被用下面的代码来实现的:

filter :booking_status, as: :select 

然而这导致在下拉选项被为0,1或2。

我宁愿如果当管理员用户从下拉列表中选择他们时,我可以自己将其命名为“不完整”,“待定”和“已确认”。

enter image description here

是否有这样做不改变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}