Ok, używam ajax w moich aplikacjach rails od dłuższego czasu. Jakoś w moim pierwszym Rails 3.1 aplikacja nie mogę uzyskać podstawy do pracy ..Nie można uzyskać UJS do pracy w Rails 3.1
# application.js
//= require jquery
//= require jquery_ujs
# the form
= form_for @signup, :url => '/signup', :remote => true do |f|
= f.text_field :email, :class => 'email', :size => 26
= f.submit 'Notify me'
# the controller
def signup # route.rb has 'match '/signup' => 'controller#signup'
respond_to do |format|
format.js
end
end
# view: signup.js.erb
alert('wtf?');
Teraz, z tego co mogę powiedzieć, Przesyłając ten formularz należy wywołać okno alertu. Tak nie jest. Przesłanie formularza przechodzi do działania kontrolera, które renderuje szablon:
Rendered teaser_pages/signup.js.erb (0.1ms)
Completed 200 OK in 8ms (Views: 7.2ms | ActiveRecord: 0.0ms)
Nie wywołuje się tylko js.
UJS pomocnicy są ładowane i działa choć (chyba), bo jeśli to zrobić ..
link_to 'click me', '#', :confirm => 'confirmation box!'
..To wywoła okno z potwierdzeniem, jak oczekiwano.
Czego mi brakuje? Każdy kierunek do zobaczenia byłby doceniony.
Dziękuję Erwin
UPDATE:
Więc wydaje szyny okazuje niewłaściwy typ zawartości w nagłówku, zapewniając text/html
zamiast text/javascript
. Po pewnym testów nawet:
render :js => "alert('AHAHAHAHA');", :content_type => 'text/javascript'
będzie nadal czyni nagłówek z typem zawartości text/html
Kiedy uruchomić nową aplikację z tej samej wersji jquery-rails
to działa. W tej aplikacji nie ma ..
Gdzie powinienem szukać?