ransackでselectボックスを使用する enumのi18n対応
解決したいこと
ransackで検索条件を設定する際にenum型のカラムを設定し、selectを用いて検索しているのですが、指定方法がもっと簡潔に書けないのかなと思い質問しました。
解決方法を教えて下さい。
発生している問題
selectボックスの配列部分を以下のように書いているのですが、
Admin.statuses_i18n.invert.map { |key, value| [key, Admin.statuses[value]] }
以下のように簡潔で書けないのかなと思って質問させていただきました。
Admin.status_i18n.invert
該当するソースコード
= search_form_for @search, url: xxx_path do |f|
= f.select :status_eq, Admin.statuses_i18n.invert.map { |key, value| [key, Admin.statuses[value]] }
enum
admin.rb
enum status:{for_men: 0, for_women: 1, for_others: 2}
ja.yml
ja:
activerecord:
省略
enums:
admin:
status:
for_men: 男向け
for_women: 女向け
for_others: その他
参考資料
0