性別の日本語化
性別の表示やセレクトボックスの日本語化
config/locales/enum.ja.yml
こういったファイルを作成。
ja:
enum:
genders:
male: '男性'
female: '女性'
other: 'その他'
と記載。
これを表示していく。
app/views/profiles/show.html.haml
#{current_user.display_name} (#{current_user.age} • #{I18n.t("enum.genders.#{current_user.gender}")})
I18n:多言語
I18n.t:config/locales/enum.ja.ymlここのパスを追って、とってきてくれる。他のymlの値をとることもできる。
選択する表示も変更していきます
app/views/profiles/edit.html.haml
[['男性', 'male']]
とやると、一つ目がsectionのラベルになり、二つ目が、valueになる。
コンソールの中でやってみる
$Profile.genders.keys
今までは、こうやってきた。
$Profile.genders.map { |k, v| [ I18n.t("enum.genders.#{k}"), k ] }
ラベルを取得とキーをそのまま取得
app/views/profiles/edit.html.haml
と記載
= f.select :gender, Profile.genders.map { |k, v| [ I18n.t("enum.genders.#{k}"), k ] }, {}, { class: 'text' }
これで、日本語表示で選択することができます!