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.