Actually the first thing I do nowadays when I start a new project using rails is turn off turbolinks. Rails has so many "magic" hidden underneath and Turbolinks is the epitome of this problem. I have no idea how it works, but all I know is it breaks my apps too often if I ever make use of a lot of JavaScript code. Nowadays I do: 1. Pure old school websites with no SPA approach (Surprisingly, most web apps work just f…
Turbolinks isn't that complicated. You should spend a day or two to learn it. Definitely useful in for #1. Depends on what you want to do for #2.
I just don't like how it does things I don't want it to do, because when I'm using rails + simple javascript, there's a reason why I'm doing that instead of API + frontend JS framework SPA approach--I WANT it to work like a website, with full page refresh and all.
And I would like to say, for most use cases this is actually much better user experience than trying to make it work as SPA because users want to see "clear cut answers" to their actions.
This used to be simple when web pages just refreshed, but with single page apps, there are so many points of failure that you have to build all kinds of middleware just to make sure this type of client/server inconsistency doesn't happen. And I think this is overkill. Most people have been using regular websites just fine, and even when I've built tons of SPA for living, I myself still prefer regular web pages, you know, like hacker news. It's simple and it works. No state inconsistency, no memory hog.