我的语言环境定义如下:
# routes.rb
scope "(:locale)", locale: /#{I18n.available_locales.join("|")}/ do
...
root "home#index"
end
我还在default_url_params
的{{1}}中设置了区域设置
这样,我的所有路线和网址都包含这样的区域设置:http://example.com/en/something
http://example.com/fr/something
这对我来说是一种预期的行为。
我也有这样的根网址:
http://example.com/en
http://example.com/fr
我想要实现ApplicationController
的排除 en
(默认)区域设置,以便root_path
区域设置为root_path
(要么已通过)明确地或通过:en
)是http://example.com/
有什么办法吗?
我可以覆盖default_url_params
来进行我的黑客攻击吗?
谢谢。
答案 0 :(得分:4)
覆盖ApplicationController
中的def root_path
(I18n.locale == 'en') ? '/' : super
end
方法:
{{1}}