Wystąpił problem w mojej aplikacji Rails 4, próbując uporządkować pliki JS „po torach”. Wcześniej były one rozrzucone po różnych widokach. Zorganizowałem je w osobne pliki i skompilowałem je z potokiem zasobów. Jednak właśnie dowiedziałem się, że „gotowe” zdarzenie jQuery nie uruchamia się przy kolejnych kliknięciach, gdy włączone jest łączenie turbo. Przy pierwszym załadowaniu strony działa. Ale kiedy klikniesz link, nic wewnątrz ready( function($) {
nie zostanie wykonane (ponieważ strona nie ładuje się ponownie). Dobre wyjaśnienie: tutaj .
Więc moje pytanie brzmi: jaki jest właściwy sposób, aby upewnić się, że zdarzenia jQuery działają poprawnie, gdy włączone są łącza Turbo? Czy pakujesz skrypty w odbiornik specyficzny dla Railsów? A może szyny mają jakąś magię, która czyni ją niepotrzebną? Dokumenty są nieco niejasne, jak to powinno działać, szczególnie w odniesieniu do ładowania wielu plików za pośrednictwem manifestów, takich jak application.js.