Rails可选/:语言环境路由

时间:2011-07-09 16:52:44

标签: ruby-on-rails ruby-on-rails-3 model-view-controller internationalization routing

我正在尝试为我的rails应用程序设置路由系统,允许将可选路由(/:locale)允许到网站的基础。

或多或少:

/ en / home /会转到与/ home /相同的页面 / en / people / - > /人/

我唯一的问题是在路由配置中设置它。

2 个答案:

答案 0 :(得分:6)

使用scope '(:locale)' do ... end。您可以在此处查看Agile Web Development with Rails的示例:

http://intertwingly.net/projects/AWDwR4/checkdepot-30/section-15.1.html

答案 1 :(得分:2)

我通常在config/routes.rb中执行的操作:

MyApp::Application.routes.draw do

  scope "(:locale)", :locale => /en|fr/ do
    #here only two languages are accepted: english and french

  end
end

在我的ApplicationController

before_filter :set_locale

def set_locale
  I18n.locale = params[:locale] || "en"
end