ruby-on-rails - ActiveAdmin 自定义选择过滤器下拉名称

标签 ruby-on-rails ruby filter activeadmin

对于用户模型,我有一个过滤器来检查用户的预订状态,该状态由整数值(0、1 或 2)表示。

User ActiveAdmin 索引页上的过滤器是通过以下代码实现的:

  filter :booking_status, as: :select

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

当管理员用户从下拉列表中选择它们时,我更愿意自己将它们命名为“未完成”、“待定”和“已确认”之类的名称。

enter image description here

有没有办法在不改变 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/

相关文章:

ruby - 如何使用 nokogiri gem 从 FTP 远程解析 XML 文件,无需下载

ruby - 如何在 `&` -`&` 往返下保存 proc 对象?

ruby-on-rails - 通过 Faye 在 Rails 应用程序上进行实时聊天,但在 Passenger 上使用 Apache 进行实时聊天

ruby-on-rails - 可以通过命令启动 binding.pry session 吗?

ruby-on-rails - Rails has_many through 跨工作区忽略 class_name

algorithm - 从大表中消除 "bad"项目的多维过滤器?

asp.net - SQL排序,分页,过滤ASP.NET中的最佳实践

ruby-on-rails - 如何验证 has_one 关联是否存在?

ruby - Rails 3 多态关联,具有多个内容项的用户模型?

grails - Grails过滤器的调用顺序是如何定义的