Rails default_url_options для actioncontroller автоматически форматирует все URL-адреса / пути с помощью .html

StackOverflow https://stackoverflow.com/questions/1278833

Вопрос

Одним из наших требований было, чтобы все наши URL заканчивались на .html Мы переопределили метод default_url_options, чтобы добавить формат в параметры

def default_url_options(options={})
  options.merge(:format => 'html')
end

По большей части это отлично работает...но это вызывает проблемы со следующими маршрутами:

map.home '/', :controller => 'home'
map.root :controller => 'home'

это приводит к возврату этих маршрутов:

domain.com/?format=html

Мне нужно найти способ сделать исключение из этих маршрутов, возможно ли это или кто-нибудь знает более разумный способ сделать это.

Это было полезно?

Решение

Что ж, это заставляет его работать с haml...(erb непроверенный)

map.home '/', :controller => 'home', :format => 'html'

Другие советы

Это, казалось, сработало для меня в быстром тестировании.

map.home '/', :controller => 'home', :format => ''
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top