Ok, he estado usando ajax en mis aplicaciones de rails durante bastante tiempo. De alguna manera, en mis primeros carriles 3.1 aplicación que no puede obtener las bases para trabajar ..No se puede hacer que UJS funcione en 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?');
Ahora, de lo que puedo decir, entregando el formulario debe desencadenar el cuadro de alerta. No es así El envío del formulario pasa a la acción del controlador, que representa la plantilla:
Rendered teaser_pages/signup.js.erb (0.1ms)
Completed 200 OK in 8ms (Views: 7.2ms | ActiveRecord: 0.0ms)
Solo no se activa js.
ayudantesEl EPU se cargan y funcionando aunque (creo) porque si lo hago ..
link_to 'click me', '#', :confirm => 'confirmation box!'
..es activará un cuadro de confirmación como se esperaba.
¿Qué podría estar perdiendo? Cualquier dirección para mirar sería apreciada.
Gracias, Erwin
ACTUALIZACIÓN:
por lo que parece rieles está demostrando el tipo de contenido incorrecto en el encabezado, proporcionando text/html
en lugar de text/javascript
. Después de algunas pruebas, incluso:
render :js => "alert('AHAHAHAHA');", :content_type => 'text/javascript'
todavía rendirá un encabezado con el tipo de contenido text/html
Cuando ejecuto una nueva solicitud con la misma versión de jquery-rails
funciona. En esta aplicación, no ...
¿Dónde debería estar mirando?