A series on Turbolinks 5
Reading through the Turbolinks 5 documentation, there are mentions of several use cases, like eg. in the Making Transformations Idempotent sections (but there are more). It would be great if you could make a series of screncasts on actual uses of Turbolinks, including covering all the edge cases and gotchas.
IMHO, Turbolinks 5 have a potential to widely used, especially for companies that do not want to invest into frontend js frameworks (or are not persuaded that these frontend js frameworks are the way to go), so such a series would be really, really appreciated. At the same time, it looks like there is not enough awareness about Turbolinks, people just don't really know what a true gem Turbolinks are.
The series could start from the very beginning, and then go with the more advanced topics, like caching, the idempotency, etc. It seems like there is a lot to cover. Then the series could continue with the Android/iOS adapters.
Marek, this would be a killer series to make. I would love to do it. So far, I've been using Turbolinks 5 for a few things but of course have also gotten caught by some of the gotchas so I still need to figure out some solutions to various things so I have a good idea of what all the gotchas are and what decent solutions should be.
Maybe we can use this thread to start keeping a list of topics to cover!
One of my biggest issues with Turbolinks has been that Chrome doesn't respect clearing the cache on a login of a page. So GoRails for example, I used to use root as the homepage, you would login, and I would replace root's contents with your dashboard. Chrome has a bug in it where it doesn't clear the cache for root until you do an actual browser refresh. The solution I had was to move your dashboard to
/dashboard to avoid the cache problems there.
Chris, this seems to be a very clear explanation of idempotent transformatons: https://www.crossplatform.net/rails/article/should-you-disable-turbolinks/idempotent-transformation/
I would love to see a series on Turbolinks 5! I want to gain a good understanding of it so I can use it to its full potential so as suggested by Marek a series covering the basics, advanced topics and using the native android/ios adaptors would be awesome!
I've read through the documentation but am having no luck getting this going.
I've also posted on stackoverflow but no responses as of yet, so any help would be greatly appreciated.
Resolve the issue I was having. The reason it wasn't working for me was because in layouts/application.html.erb I had:
when it should be:
Now I just have to work out how to make this script idempotent.