рельсы, отправляющие неправильный тип содержимого в ответе ajax - PullRequest
2 голосов
/ 20 сентября 2011

Я ужасно боролся за большую часть дня со следующей проблемой:

  • У меня есть приложение rails 3.1 - работает нормально
  • Я пытаюсь добавить некоторыеAjax к нему

Однако, независимо от того, что я пытаюсь, Rails настаивает на отправке неправильного типа контента в заголовке ответа.

#the form    
= form_for @signup, :url => '/signup', :remote => true do |f|
    = f.text_field :email, :class => 'email', :size => 26
    = f.submit 'Notify me'

#In the controller
def create
  respond_to do |format|
    format.js { render :content_type => 'text/javascript', :layout => false}
  end
end

#the JS file: create.js.erb
alert('HI!');

Это не работает, пока ядумаю, что должно.Изучая ответ сервера с помощью Firebug, он сообщает, что заголовок ответа имеет тип содержимого text/html.Я полагаю, именно поэтому оно не работает (как и во вновь созданном приложении, используя тот же гем jquery-rails, оно отвечает заголовком text/javascript.

Сервер говорит, что этоотвечая JS:

Processing by SignupsController#create as JS

Но почему-то отказывается отправлять правильный заголовок. Я теряюсь в том, где искать дальше.

Любая помощь или направление относительно того, где искать дальше, будетс благодарностью! Эрвин

1 Ответ

4 голосов
/ 20 сентября 2011

Ok нашел решение,

Таким образом, after_filter в контроллере приложения переопределял тип содержимого.И они обрабатываются наизнанку.Так что это переписывало мои заявления.

...