【发布时间】:2011-09-17 14:42:26
【问题描述】:
Rails 3.0.9
我根据http://guides.rubyonrails.org/i18n.html#setting-the-locale-from-the-url-params配置了路由
但似乎那里的信息不完整。我的路线.rb:
Myapp::Application.routes.draw do
scope "(:locale)", :locale => /ru|en/ do
resources :pages, :only => [:show]
...
end
match '/:locale' => 'index#index', :locale => /ru|en/
root :to => 'index#index'
end
正如上面链接中的文档所说,路由应该是 /ru/... 和 /en/... 那么,我怎样才能从路由中获取 :locale 的值? params[:locale] 为空。
谢谢!
【问题讨论】:
-
我刚试过,它有效。尝试将
locale: "<%= params[:locale] %>"<br/>之类的内容添加到您的application.html.erb并尝试不同的 URL。http://your.domain/ru应该让您在每一页上都显示“语言环境:“ru”。您尝试了哪些网址? -
my.domain/ru, my.domain/en。在这两个 params[:locale] 中都是空的。我想知道为什么,谷歌不知道这样的问题。
-
可能是因为它有效 :O) 你一定错过了其他东西,你上面引用的路线很好。正如 khustochka 所说,查看您尝试访问
params[:locale]的代码(如控制器)可能有助于找到问题。
标签: ruby-on-rails ruby-on-rails-3