Ups ..
Saya melewatkan baris berikut di application.js saya
//= require jquery_ujs
Saya menggantinya dan berfungsi ..
======= DIPERBARUI =========
Setelah 5 tahun, saya kembali dengan kesalahan yang sama, sekarang saya memiliki Rails baru 5.1.6 , dan saya menemukan posting ini lagi. Persis seperti lingkaran kehidupan.
Sekarang yang menjadi masalah adalah:
Rails 5.1 menghapus dukungan untuk jquery dan jquery_ujs secara default, dan ditambahkan
//= require rails-ujs in application.js
Itu melakukan hal-hal berikut:
- paksa dialog konfirmasi untuk berbagai tindakan;
- membuat permintaan non-GET dari hyperlink;
- membuat formulir atau hyperlink mengirimkan data secara tidak sinkron dengan Ajax;
- punya tombol kirim menjadi otomatis dinonaktifkan pada formulir kirim untuk mencegah mengklik dua kali. (dari: https://github.com/rails/rails-ujs/tree/master )
Tapi mengapa itu tidak termasuk token csrf untuk permintaan ajax? Jika ada yang tahu tentang ini secara detail, beri komentar saja. Saya menghargai itu.
Lagi pula saya menambahkan yang berikut ini di file js khusus saya untuk membuatnya berfungsi (Terima kasih atas jawaban lain untuk membantu saya mencapai kode ini):
$( document ).ready(function() {
$.ajaxSetup({
headers: {
'X-CSRF-Token': Rails.csrfToken()
}
});
----
----
});