Маршруты Rails с необязательной областью действия «: locale»

Я работаю над приложением Rails 3.1, и я Я хочу установить определенные маршруты для разных языков, которые приложение будет поддерживать.

/es/countries
/de/countries
…

Я не хочу, чтобы язык по умолчанию ('en') отображался в URL-адресе.

/countries

Вот определение маршрута, которое я установил.

scope "(:locale)", :locale => /es|de/ do
   resources :countries
end

Он отлично работает, пока я не попробую использовать помощник по пути с en в качестве локали.

В консоли:

app.countries_path(:locale => 'fr')
 => "/fr/countries" 

app.countries_path(:locale => 'en')
 => "/countries?locale=en" 

Мне не нужен "? Locale = en".

Есть ли способ сообщить rails, что с локалью 'en' параметр локали не должен добавляться к URL-адресу?

Спасибо

12
задан jlfenaux 22 November 2011 в 09:04
поделиться