Контроллер rails по умолчанию отвечает на приложение / xml в производстве - PullRequest
2 голосов
/ 23 мая 2010

У меня есть стандартный contacts_controller.rb с действием index, который отвечает следующим образом:

respond_to do |format|
  format.html
  format.xml  { render :xml => @contacts }
end

В разработке все работает как задумано: когда я перехожу к http://localhost:3000/contacts,, я получаю html-ответ.

Но когда я запускаю приложение с использованием capistrano на удаленном сервере Ubuntu и просматриваю тот же URL-адрес, я получаю ответ xml.

Если я перейду к http://remote_host:8000/contacts.html,, я увижу html-ответ. Если я закомментирую format.xml { render :xml => @contacts }, то увижу нужный html-ответ.

Я уверен, что мне не хватает какой-то тонкости в разнице между разработкой Rails и производственными режимами. Есть идеи о том, что я пропускаю?

Спасибо, - Дэйв

1 Ответ

0 голосов
/ 24 мая 2010

Следующие ссылки объясняют явление:

http://rails_security.lighthouseapp.com/projects/15332/tickets/5-using-http-basic-authentication-with-ie-not-working

http://geminstallthat.wordpress.com/2008/05/14/ie6-accept-header-is-faulty/

Я исправил свою проблему, добавив ее в файл development | test | production.rb:

config.action_controller.use_accept_header = false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...