複数言語に対応したいため、上記を参考に複数言語で表示できるようになったのですが、
ブラウザを閉じると、デフォルトの言語が表示される状態です。
理想的には、ユーザー登録している人(Devise)には、選択した言語をサイトにアクセスしたときには表示したいのですが、
その場合には、Userテーブルにlocaleカラムを追加してcreateとeditで選択させるようにしたらいいのでしょうか?
Railsガイドには以下のように書いてあるのですが、あっているのか教えていただけると幸いです。
2.2.3 ロケールをユーザーが自由に設定する アプリケーションの認証済みユーザーに、アプリケーションのインターフェイスから ロケールをユーザー好みに設定させることができます。 このアプローチでは、ユーザーが選択したロケール設定をデータベースに保存しておき、 それを用いてユーザーからの認証済みリクエストごとにロケールを設定します。 around_action :switch_locale def switch_locale(&action) locale = current_user.try(:locale) || I18n.default_locale I18n.with_locale(locale, &action) end
まず、やってみては?
回答1件
あなたの回答
tips
プレビュー