Rails 4: jak używać $ (document) .ready () z linkami turbo

Wpadłem na problem w mojej aplikacji Rails 4, próbując zorganizować pliki JS „na szynach”. Poprzednio były rozproszone w różnych widokach. Zorganizowałem je w osobne pliki i skompilowałem z potokiem zasobów. Dowiedziałem się jednak, że „gotowe” wydarzenie jQuery nie uruchamia się po kolejnych kliknięciach, gdy włączone jest turbo-linkowanie. Przy pierwszym załadowaniu strony działa. Ale gdy klikniesz link, wszystko wewnątrzready( function($) { nie zostanie wykonany (ponieważ strona nie ładuje się ponownie). Dobre wytłumaczenie:tutaj.

Więc moje pytanie brzmi: jaki jest właściwy sposób, aby zapewnić, że zdarzenia jQuery działają poprawnie, gdy włączone są turbo-linki? Czy zawijasz skrypty do słuchacza specyficznego dla Railsów? A może szyny mają jakąś magię, która czyni to niepotrzebnym? Dokumenty są nieco niejasne, jak to powinno działać, zwłaszcza w odniesieniu do ładowania wielu plików za pomocą manifestu (ów), takich jak application.js.

questionAnswers(18)

yourAnswerToTheQuestion