如何在InvalidLocale上重定向到root_path

时间:2015-06-24 05:18:12

标签: ruby-on-rails routing

如果区域设置不存在,我想重定向到主页面。我确实试过了

begin
  rescue i18n::InvalidLocale
  redirect_to "/#{session[:lang]}"
end

在路线中,但它对我没有帮助。我还能做些什么呢?

1 个答案:

答案 0 :(得分:0)

您需要在控制器级别使用rescue_from:

class ApplicationController < ActionController::Base
  rescue_from 18n::InvalidLocale, with: :locale_not_found

  private

    def locale_not_found
      redirect_to "/#{session[:lang]||I18n.default_locale}"
    end
end