我正在尝试为我的rails应用程序设置路由系统,允许将可选路由(/:locale)允许到网站的基础。
或多或少:
/ en / home /会转到与/ home /相同的页面 / en / people / - > /人/
我唯一的问题是在路由配置中设置它。
答案 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