【问题标题】:Rails localize path without locale param for certain urlRails 本地化路径,没有特定 url 的语言环境参数
【发布时间】:2015-04-05 13:14:49
【问题描述】:

我对 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 参数?

【问题讨论】:

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


    【解决方案1】:

    我终于找到了解决方法。我需要做的就是将 admin 命名空间路由放在作用域路由之前,例如

    namespace :admin do
      # admin blah
    end
    
    scope "/:locale" do
      # blah
    end
    

    像上面那样设置之后,错误就消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2023-04-09
      相关资源
      最近更新 更多