开发者

Rails optional /:locale route

I'm trying to setup a routing system for my rails app that allows for an optional route (/:locale) to be allowed to the base of the website.

So mor开发者_JS百科e or less:

/en/home/ would goto the same page as /home/ /en/people/ -> /people/

The only issue I'm having is setting this up in the routes config.


Use scope '(:locale)' do...end. You can see an example from Agile Web Development with Rails here:

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


What I usually do is, in 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

And in my ApplicationController:

before_filter :set_locale

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜