Ok, ho utilizzato ajax nelle mie app di rotaie per parecchio tempo. In qualche modo, nei miei primi Rails 3.1 app che non può avere le basi per lavorare ..Non riesco a far funzionare UJS in 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?');
Ora, da quello che posso dire, di questo modulo dovrebbe far scattare la finestra di avviso. Non è così. L'invio del modulo passa all'azione del controller, che rende il modello:
Rendered teaser_pages/signup.js.erb (0.1ms)
Completed 200 OK in 8ms (Views: 7.2ms | ActiveRecord: 0.0ms)
Solo js non viene attivato.
aiutantiL'UJS vengono caricati e funzionanti anche se (credo) perché se lo faccio ..
link_to 'click me', '#', :confirm => 'confirmation box!'
..è attiverà una finestra di conferma come previsto.
Cosa potevo mancare? Qualsiasi direzione da guardare sarebbe apprezzata.
Grazie, Erwin
UPDATE:
così sembra rotaie si sta rivelando il contenuto-tipo sbagliato nell'intestazione, fornendo text/html
invece di text/javascript
. Dopo alcuni test anche:
render :js => "alert('AHAHAHAHA');", :content_type => 'text/javascript'
sarà ancora rendere un colpo di testa con il tipo di contenuto text/html
Quando eseguo una nuova domanda con la stessa versione di jquery-rails
funziona. In questa applicazione non ..
Dove dovrei cercare?