mone_pi
@mone_pi

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

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: その他

参考資料

【Rails】enumを使用したselectボックスの作成(ransackで使用する際の注意点も)

0

No Answers yet.

Your answer might help someone💌