对于某些URL,Rails本地化路径而没有语言环境参数

时间:2015-04-05 13:14:50

标签: ruby-on-rails ruby-on-rails-4 internationalization

我是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的链接时,我会收到错误消息"admin" is not a valid locale

有没有办法让生成的url不包含locale参数?

1 个答案:

答案 0 :(得分:0)

我终于想出了一个解决方法。我需要做的就是在范围路由之前放置管理命名空间路由,例如

namespace :admin do
  # admin blah
end

scope "/:locale" do
  # blah
end

在我如上设置后,错误就消失了。