An observation from Arkency's consulting work identifies a recurring architectural pattern in Rails codebases in 2026: fat models with callbacks that trigger service objects, which in turn schedule background jobs. Active Record rows increasingly carry mixed responsibilities — entity state, workflow/process state, and auxiliary process-tracking columns — rather than representing pure domain entities. Concerns are also noted as part of the official Rails style. The post aims to name and describe this pattern rather than argue for or against it, as a prerequisite for honest discussion about when it works and when it doesn't.
Table of contents
The disclaimerProcesses and workflows inside Active RecordOne more piece: concernsWhy this mattersSort: