Rails可选/:语言环境路由

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

所以或多或少:

/ en / home /将转到与/ home / / en / people / – > / people /相同的页面

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

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

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

我通常在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