Tutorials

Using Tailwind AND Bootstrap side by side in Rails
Find out how to use both Tailwind CSS and Bootstrap in the same Rails application.Compared to a few years ago, it's a blast to develop Rails apps with modern frontend tools these days. The full JS and CSS ecosystems are first class citizens in any...

Easy Redesign in Rails: Run Old and New Side by Side with :variants
Rails variants are usually used to serve different views for devices — but you can use them for much more, like running a redesign side by side.Redesigning a mature Rails app can feel like a minefield. You're still pushing hotfixes to production, ...

User-Specific Content in Turbo Stream Partials | Rails Designer
Learn how to conditionally show user-specific content in Rails Turbo Stream partials using a custom turbo-show element for client-side rendering.How would you conditionally show or hide user-specific content in a partial sent over Turbo Stream? Th...

Organizing Mailer Templates with prepend_view_path in Rails
Learn how to organize Rails mailer templates with prepend_view_path. Keep all email templates in one centralized directory instead of scattered across your views folder for better code organization.
If you're using multiple mailers in your Rails a...

Create a macOS-inspired stack UI with Stimulus and Tailwind CSS | Rails Designer
The other day I accidentally enabled the “fan” option in my dock’s application folder (I have it normally set to just “list”). But this incident inspired me to recreate the effect in Rails with a simple Stimulus controller and lots of Tailwind CSS...

Joy of Rails | Sending Web Push Notifications from Rails
An embedded Web Push demo and deep dive recipe for Web Push notifications for a Ruby on Rails application in advance of Rails 8 Action Notifier.You may have heard news: Rails 8 will extract a new framework for Web Push in Rails. Web Push notificat...

Persistent Connections in Ruby: Streaming Bodies, SSE, and WebSockets with Rack | DevelClan
HTTP was born with a request/response model: the client opens a connection, sends a request, the server responds, and the connection closes. This works for most web pages but falls short when handling real-time data (notifications, dashboards, cha...

The /o in Ruby regex stands for “oh the humanity!” - JP Camara
Hi there! Do you like Regex? Do you like performance? Do you like creating confounding bugs for yourself rooted in the mechanics of the Ruby VM itself?
If you said yes to all of the above, have I got a feature for you!
But first, let’s start wit...


Persistent Connections in Ruby: Streaming Bodies, SSE, and WebSockets with Rack | DevelClan
Learn how to implement persistent connections in Ruby using Rack, from streaming bodies and Server-Sent Events (SSEHTTP was born with a request/response model: the client opens a connection, sends a request, the server responds, and the connection...