Я ужасно боролся большую часть дня со следующей проблемой:
- У меня есть приложение 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
Но почему-то отказывается отправлять правильный заголовок. Я теряюсь в том, где искать дальше.
Любая помощь или направление относительно того, где искать дальше, будет принята с благодарностью! Эрвин