Ajax w RoR

Jako że mało która współczesna aplikacja nie używa Ajaxa postanowiłem wziąć i ten temat na tapetę . Do tej pory byłem przyzwyczajony, że całość kodu JavaScript umieszczałem w osobnym pliku, gdzie podłączałem wszelkie zdarzenia oraz inicjowałem zapytania ajaxowe (z pomocą JQuery). Jak widzę większość tutoriali dotyczących RoR preferuje rozwiązania, w których korzysta się z biblioteki ujs-jquery. Niestety tego typu rozwiązanie, z którym spotkałem się już wcześniej - które może nawet jest sprytne - nie do końca sprawdza się w przypadku aplikacji korzystającej z zapytań asynchroniczny w sposób dużo bardziej intensywny. Jednak tutoriale tutorialami, ale chciałem poznać jak wygląda to w realnych railsowych zespołach programistycznych. Czy rzeczywiście korzystacie z udogodnień, jakie oferuje sam framework (remote: true)? Pytanie ma o tyle sens, że chciałbym wiedzieć czy warto uczyć się tych railsowych rozwiązań.

Przy okazji jeszcze o turbolinkach. Rozumiem ideę, ale czy to naprawdę jest użyteczne?

Nie, od pewnego poziomu pisze się nieobtruzywny javascript (czyli dokładnie tak jak opisujesz, cały kod js w osobnym pliku) bez używania railsowych helperów.

Turbolinki to temat kontrowersyjny :wink:

Dzięki. Właśnie nie bardzo wyobrażałem sobie realizację niektórych scenariuszy, jakie przyszły mi do głowy z użyciem wspomnianych helperów.

Przyznam, że turbolinki mnie nie przekonały. Najzabawniejsze, że opinie są od sceptycznych (wpis Y. Katza) po entuzjastyczne w stylu “one of most exciting feature which Rails 4 provides” (dosłowny cytat).

Zorientowanie się że poszły ci hamulce w samochodzie też jest “exciting”, co nie oznacza że warto się w takie sytuacje świadomie pakować :wink:

Yehuda nie będzie fanem turbolinków bo są nie do zgrania z Emberem czy po prostu każdym wystarczająco złożonym javascriptem.

Turbolinks mnie nie przekonały, może dlatego, że próbowałem je wykorzystać na samym początku jak były wypuszczone i trochę problemów z JSem było. Zamiast Turbolinks spróbuj Wiselinks, więcej możliwości niż Turbolinks, mniej problematyczne i wzrost szybkości mocno zauważalny.