oops ..
Eu perdi a seguinte linha no meu application.js
//= require jquery_ujs
Eu o substituí e está funcionando ..
======= ATUALIZADO =========
Após 5 anos, estou de volta com o mesmo erro, agora tenho o Rails 5.1.6 totalmente novo e encontrei este post novamente. Assim como o círculo da vida.
Agora, qual era o problema: o
Rails 5.1 removeu o suporte para jquery e jquery_ujs por padrão e adicionou
//= require rails-ujs in application.js
Faz o seguinte:
- forçar diálogos de confirmação para várias ações;
- faça solicitações não GET a partir de hiperlinks;
- faça formulários ou hiperlinks enviar dados de forma assíncrona com o Ajax;
- os botões de envio são desativados automaticamente no envio de formulários para impedir o clique duplo. (de: https://github.com/rails/rails-ujs/tree/master )
Mas por que não está incluindo o token csrf para solicitação de ajax? Se alguém souber sobre isso em detalhes, basta comentar-me. Obrigado.
De qualquer forma, adicionei o seguinte no meu arquivo js personalizado para fazê-lo funcionar (obrigado por outras respostas para me ajudar a alcançar esse código):
$( document ).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-Token': Rails.csrfToken()
}
});
----
----
});