Tôi gặp phải một vấn đề trong ứng dụng Rails 4 của mình trong khi cố gắng tổ chức các tệp JS "cách rails". Chúng trước đây nằm rải rác trên các quan điểm khác nhau. Tôi đã sắp xếp chúng thành các tệp riêng biệt và biên dịch chúng với đường dẫn tài sản. Tuy nhiên, tôi mới biết rằng sự kiện "sẵn sàng" của jQuery không kích hoạt các lần nhấp tiếp theo khi bật liên kết turbo. Lần đầu tiên bạn tải một trang nó hoạt động. Nhưng khi bạn nhấp vào một liên kết, mọi thứ bên trong ready( function($) {
sẽ không được thực thi (vì trang không thực sự tải lại). Giải thích tốt: ở đây .
Vì vậy, câu hỏi của tôi là: cách đúng đắn để đảm bảo các sự kiện jQuery hoạt động chính xác trong khi các liên kết turbo được bật là gì? Bạn có bao bọc các tập lệnh trong một trình nghe dành riêng cho Rails không? Hoặc có thể đường ray có một số phép thuật làm cho nó không cần thiết? Các tài liệu hơi mơ hồ về cách thức hoạt động của tính năng này, đặc biệt là đối với việc tải nhiều tệp thông qua (các) tệp kê khai như application.js.