Ruby on Rails
fromRubyflow
3 days agoTurbo Tour - A Ruby on Rails gem for building product tours
Turbo Tour is a Ruby on Rails engine for creating interactive product tours without heavy JavaScript dependencies.
If you've been watching the JavaScript landscape for a while, you've likely noticed the trend toward simplicity in web application development. An aspect of this trend is leveraging HTML, REST, and HATEOAS (hypermedia as the engine of application state) to do as much work as possible. In this article, we'll look at Hotwire, a collection of tools for building single-page-style applications using HTML over the wire.
When a request comes from a Turbo Frame, detect the Turbo-Frame header or the Accept header for 'text/vnd.turbo-stream.html' and return a turbo-stream response that emits one or more <turbo-stream> actions. Emit a replace or update for the frame's id and additional turbo-stream actions targeting menu, counter, or sidebar elements so external UI updates occur alongside the frame update. For full page navigations, render the complete HTML with the same updated fragments so behavior remains consistent.