【課題】
エラーメッセージをわかりやすい日本語に設定したい
英語表記ではユーザーが視覚的に判断しにくい
エラーメッセージが出現した際に、パッと見で何でエラーが起きで弾かれてるのかを判断しやすくしたい
【実装】
①Gemファイルへの記述
Gemfile
gem 'rails-i18n'
②gemを設定したのでここでbundle instalを行う
ターミナル
$ bundle install
③config/application.rbのファイルを編集
config/application.rb
module BoardApp
class Application < Rails::Application
config.time_zone = 'Tokyo'
config.active_record.default_timezone = :local
# デフォルトのlocaleを日本語(:ja)にする設定
config.i18n.default_locale = :ja
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
end
end
ここまでの記述で
can't be blank、is invalid、Include both letters and numbersなどが日本語表記になることを確認。
このままではカラム名がまだ英語表記のままになっている
④config/locales/ja.ymlのファイルを作成
config/locales/ja.yml
ja:
activerecord:
models:
user: ユーザー
attributes:
user:
nickname: ニックネーム
email: Eメール
password: パスワード
password_confirmation: パスワード(確認用)
family_name: 名字
first_name: 名前
family_name_kana: 名字(カナ)
first_name_kana: 名前(カナ)
gender: 性別
birth_day: 生年月日
errors:
messages:
blank: "を入力してください"
taken: "はすでに存在します"
invalid: "は有効でありません"
too_short: "は%{count}文字以上で入力してください"
not_a_number: "は数値で入力してください"
inclusion: "は一覧にありません"
confirmation: "とパスワード(確認用)が一致しません"
# カスタムエラーメッセージ
invalid_password: "は英数字混合で入力してください"
devise:
failure:
user:
invalid: "メールアドレスまたはパスワードが正しくありません。"
無事、全てを日本語表記にすることができました