The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
How to Test User Registration with Minitest Rails
Rails 8’s bin/rails generate authentication gives you sign-in, sign-out, and password reset but it does not give you a way to register new users to the app. In this post you will add the registration feature and test it with Minitest: [more inside]
RailsDocks - Rails hosting the way it should be
I built RailsDocks because deploying a Rails application shouldn’t require becoming a part-time infrastructure engineer. [more inside]
Rails Baseline 1.0: A Rails SaaS Starter Built for Coding Agents
I shipped Rails Baseline 1.0 today. [more inside]
Install rv as a mise tool
If you’re already using mise and would like to try rv, you can install it by following this guide:
ActiveRecord with update_all/delete_all with returning option
- this could be useful to know what actual records were updated/deleted. A small utility gem to solve this problem.
Access control for AI agents on Rails: gating SQL with Action Policy
An AI assistant with read-only SQL is a superhero. Until it fails privacy responsibilities and leaks sensitive data to everyone. We noted this possibility in an internal tool, moved the data boundary from prompt to Action Policy, and kept open-ended SQL: Access control for AI agents on Rails: gating SQL with Action Policy
A fresh look at Hanami
I revisited Hanami recently, and liked it! Here are my initial thoughts and impressions after completing its starter tutorial. I’ll be digging in further soon, so stay tuned. [more inside]
A Guide to using Batches in SolidQueue
Digs into the new batch feature in SolidQueue. How to configure it, how to utilize the APIs, advice on how to structure a batch, and code inspiration - like splitting a RubyLLM chat into parallel sub agents using batches [more inside]
Video: Glimmer DSL for Web Release Version 0.10.0 & 0.10.1
Release video for Glimmer DSL for Web (Award-Winning Frontend Framework for Ruby on Rails) 0.10.0 & 0.10.1 Auto-Conversion of Date/Time Element Values + New Sample
Coding guidelines
What holds in any language. What holds in Ruby. What holds in Rails. Extracted so I don’t have to tell agents how to write my code every time. Which ones do you approve? Which ones do you reject? [more inside]
The Persistence APIs That Skip the Record Lifecycle
A source-backed guide to what delete, update_columns, update_all, insert_all, and upsert_all do with callbacks, timestamps, locking, and loaded objects. [more inside]
Authorization testing in Rails
Chapter 13 of the free Minitest Rails guide is out now. Learn how to test Rails authorization with Minitest: [more inside]
JetUI — open source Rails component library
JetUI is an open source Rails 8 component library we’ve been building at JetRockets — 29 components, 8 form fields, and 61 UI blocks, built on ViewComponent, Tailwind CSS 4, and Stimulus. Copy-paste, not a dependency. We’re just about to hit 5,000 downloads. [more inside]
Where do you deploy your Ruby apps?
I’ve been doing some explorations about deployment options for Ruby, so I’m curious to learn more about what you’re using to deploy your applications. [more inside]
Get in, human: cut Rails boot time with require-profiler and this guide
Rails boot time is a DX metric now. Every restart costs deploys, CI, and human attention. And agents boot apps way more than people. So, our convenient new require-profiler gem shows what happens during boot: requires, Rails initializers, YAML parsing, HTTP calls. Run it, then drop to a sampling profiler for what the tree can’t explain. One 200-component monolith cut development boot time by 40%. [more inside]
Migrating from Sphinx to PostgreSQL full-text search
Some notes on migrating a small site from Sphinx to PostgreSQL. Shout-out to Daniela Baron for her article on this, very helpful! [more inside]
One of The Dumbest Questions Asked on Ruby/Rails Subreddits
One of the dumbest questions I see asked on the Ruby/Rails subreddits is “Are Ruby & Rails still worth learning today?”, plus other variations, such as “Are Ruby and Rails still relevant today?” and “Are Ruby and Rails dead?”
Displaying File Names for Multi-File Inputs with Stimulus
The HTML file input shows “n files selected” when multiple files chosen. Here’s how Stimulus can be used (with or without Rails) to turn that into a list of file names for a better UX
When Should You Use after_commit in Rails?
A Rails callback race traced across record saves, outer transactions, background-job connections, Active Job deferral, transactional tests, and the delivery gap after commit. [more inside]
Pluckr - gem to query your DB efficiently
https://github.com/igorkasyanchuk/pluckr - a gem that can return results from multiple queries using 1 SQL statement. [more inside]
Omakase 0.2 — agents as plain Ruby objects
I released Omakase 0.2, a small agent framework on top of
RubyLLM about 800 lines. The idea is that an agent is an ordinary Ruby object: its fields are
state, its public methods are what the model can call (no tool registry, no JSON schemas to keep in
sync - describe above a method is the description the model reads), and the methods you declare
without a body are written by the model at runtime. The return type is the contract: a schema block
gives you validated data, a scalar unwraps to a value, and a Ruby class means the method hands back
the object your code built - under the default :code_act strategy the model answers by writing
Ruby that is evaluated on the agent itself and calling finish(value), so the answer is computed
rather than retyped as JSON. There’s also :predict for one-shot structured output, MCP servers and
SKILL.md directories that arrive as methods, per-method model selection, attachments, and a
FakeChat so agents can be tested without a network. The transcripts in the README are from a 30B
model on OpenRouter rather than a frontier one, on the theory that a strategy which only works on
the biggest model available is a demo and not a library. The docs
cover the Rails side - agents in app/agents, jobs, multi-turn built from your own tables - and are
blunt about the fact that generated code runs with instance_eval, so untrusted input belongs to
:predict unless you swap in your own executor. MIT, Ruby 3.2+. [more inside]
Updates to Testing Rails from Scratch book
Hi, I’ve pushed some updates to my work-in-progress book on using Rails defaults (mostly) for test-driven development, based on my approach and opinions from using RSpec for 15 years. The updates are now available on Leanpub, and I wrote a quick post on Left of the Dev to share what’s available now and what’s next. Thank you for your support! [more inside]
Aug 13, 2026 Reminder: Entitled/Incompetent/Mean Members of Ruby/Rails Community
In light of some Ruby community events that happened recently (you can lookup recent posts about discriminatory treatment against me), it never hurts to share a regular reminder about the Entitled/Incompetent/Mean Members of the Ruby community.
Chasing an Elusive Rails SSE Hang
Last month, we chased a rare Rails bug that could quietly stall production servers, traced it to a subtle race condition in the framework, and got the fix merged into Rails. Read how we found it [more inside]