oops ..
Perdí la siguiente línea en mi application.js
//= require jquery_ujs
Lo reemplacé y está funcionando ...
======= ACTUALIZADO =========
Después de 5 años, he vuelto con el mismo error, ahora tengo un nuevo Rails 5.1.6 y encontré esta publicación nuevamente. Al igual que el círculo de la vida.
Ahora, cuál era el problema es:
Rails 5.1 eliminó la compatibilidad con jquery y jquery_ujs de forma predeterminada, y agregó
//= require rails-ujs in application.js
Hace lo siguiente:
- forzar cuadros de diálogo de confirmación para diversas acciones;
- hacer solicitudes que no sean GET desde hipervínculos;
- hacer formularios o hipervínculos enviar datos de forma asíncrona con Ajax;
- hacer que los botones de envío se deshabiliten automáticamente al enviar el formulario para evitar hacer doble clic. (de: https://github.com/rails/rails-ujs/tree/master )
Pero, ¿por qué no incluye el token csrf para la solicitud ajax? Si alguien sabe sobre esto en detalle, solo coménteme. Soy consciente de que.
De todos modos, agregué lo siguiente en mi archivo js personalizado para que funcione (Gracias por otras respuestas para ayudarme a alcanzar este código):
$( document ).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-Token': Rails.csrfToken()
}
});
----
----
});