Имена контроллеров Rails с дефисами вместо символов подчеркивания

Можно ли заставить Rails использовать тире (-) вместо подчеркивания при обращении к контроллерам.

В настоящее время существует удобная функция Инфлектора , называемая параметризация . Он позволяет создавать очень красивые постоянные ссылки, в которых все специальные символы удаляются и заменяются дефисами ...

Однако при использовании контроллеров, содержащих несколько слов (например, contact_methods_controller.rb ), вы определяете свой маршрут:

resources :contact_methods

Это создает карту для / contact_methods (НЕ / contact-methods ). Когда я смешиваю эти два, я получаю уродливые URL-адреса вроде:

/contact_methods/1-preferred-email

Я бы хотел иметь контроллеры карт Rails с тире вместо подчеркивания. Все мои исследования говорят о необходимости индивидуального сопоставления каждого контроллера:

match 'contact-methods(/:action)' => 'contact_methods'

но это действительно глупо, на мой взгляд, и становится беспорядочным, если я вкладываю ресурсы ... Мне не нужно определять их как настраиваемые маршруты. Есть ли в ActionDispatch параметр, который автоматически перезаписывает эти вещи? Не могу найти ...

8
задан sethvargo 10 March 2011 в 20:13
поделиться