Rails 为某些 url 本地化没有语言环境参数的路径
Rails localize path without locale param for certain url
我是 Rails 的新手,正在为我的 rails 项目构建本地化。我已遵循 Rails i18n 指南,并且能够使用本地化路径访问不同语言版本的网站。
我的 routes.rb
如下所示:
scope "/:locale" do
# blah
end
namespace :admin do
# admin blah
end
然而,因为我按照 Rails 指南中的建议在应用程序控制器中使用了 default_url_options
,所以 URL 助手生成的路径也将包含语言环境参数。当我为我的管理员根 localhost:3000/admin?locale=en
创建 link 时,我会收到一条错误消息 "admin" is not a valid locale
有没有办法让生成的 url 不包含语言环境参数?
我终于找到了解决方法。我需要做的就是将管理命名空间路由放在作用域路由之前,例如
namespace :admin do
# admin blah
end
scope "/:locale" do
# blah
end
按照上面的方法设置后,错误消失了。
我是 Rails 的新手,正在为我的 rails 项目构建本地化。我已遵循 Rails i18n 指南,并且能够使用本地化路径访问不同语言版本的网站。
我的 routes.rb
如下所示:
scope "/:locale" do
# blah
end
namespace :admin do
# admin blah
end
然而,因为我按照 Rails 指南中的建议在应用程序控制器中使用了 default_url_options
,所以 URL 助手生成的路径也将包含语言环境参数。当我为我的管理员根 localhost:3000/admin?locale=en
创建 link 时,我会收到一条错误消息 "admin" is not a valid locale
有没有办法让生成的 url 不包含语言环境参数?
我终于找到了解决方法。我需要做的就是将管理命名空间路由放在作用域路由之前,例如
namespace :admin do
# admin blah
end
scope "/:locale" do
# blah
end
按照上面的方法设置后,错误消失了。