Improve set_locale

We discard session[:locale] as valid locale when it is no longer include in
the :available_locales
This commit is contained in:
taitus
2020-05-06 13:45:16 +02:00
parent 002e9239d0
commit ee5ac25cb1
2 changed files with 23 additions and 3 deletions

View File

@@ -46,9 +46,11 @@ class ApplicationController < ActionController::Base
session[:locale] = params[:locale]
end
session[:locale] ||= I18n.default_locale
locale = session[:locale]
if session[:locale] && I18n.available_locales.include?(session[:locale].to_sym)
locale = session[:locale]
else
locale = I18n.default_locale
end
if current_user && current_user.locale != locale.to_s
current_user.update(locale: locale)