对于用户模型,我有一个过滤器来检查用户的预订状态,该状态由整数值(0、1 或 2)表示。
User ActiveAdmin 索引页上的过滤器是通过以下代码实现的:
filter :booking_status, as: :select
然而,这会导致下拉选项为 0、1 或 2。
当管理员用户从下拉列表中选择它们时,我更愿意自己将它们命名为“未完成”、“待定”和“已确认”之类的名称。
有没有办法在不改变 booking_status 在模型中的表示方式的情况下做到这一点?
最佳答案
假设 booking_status
是模型中的枚举字段,您可以使用:
过滤器:booking_status,as::select,集合:ModelName.booking_statuses
如果 booking_status
不是枚举字段,您可以将常规哈希传递给 collection
选项,例如:
filter :booking_status, as: :select, collection: {'Incomplete' => 0, 'Pending' => 1, 'Complete' => 2}
关于ruby-on-rails - ActiveAdmin 自定义选择过滤器下拉名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40975481/