Rails routes with optional scope “:locale”
I'm working on a Rails 3.1 app and I'd like to set specific routes for the different languages the app is going to support. /es/countries /de/countries … For the default language ('en'), I don't want the locale to be displayed in the url. /countries Here is the route definition I've set. scope "(:locale)", :locale => /es|de/ do resources :countries end It works great, until I try to use a path helper with 'en' as the locale. In the console : app.countries_path(:locale => 'fr') => "/fr/countries" app.countries_path(:locale => 'en') => "/countries?locale=en" I don't want the "?locale=en". Is