0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

プロフィールページ作成⑧

Posted at

性別の日本語化

性別の表示やセレクトボックスの日本語化

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' }

これで、日本語表示で選択することができます!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?