rails 47
- Deterministic Rails CI failures: read the evidence first
- Rails Performance from the Metal Up: A Field Guide
- The callback that quietly doubled our database
- Rails UJS to Turbo: the event timing bug CI didn't catch
- Faster Rails Docker Feedback Loop: Runtime Deps and HMR
- Polymorphic Indexes in MySQL: Type-First or ID-First?
- Migrating a Rails App from Yarn + Webpacker to pnpm + Vite
- Rails Style Guide: Transactions, Touch, and Async Derived Data
- Rails 8.1.1 + connection_pool 3.x: RedisCacheStore boot crash
- From 499 to 200: Fixing Nginx Timeouts in a Rails API
- The Ghost in the Test Suite: Fixing Rails Database Cleanup
- Why Using Business Logic for Test Setup Is a Rails Antipattern
- Ruby Debugging in VS Code: Shopify LSP, rdbg, and RSpec
- Active Storage Variants: Multiple Sizes and Testing Pitfalls
- User Impersonation in Rails with the Pretender Gem
- When to Mock and When to Hit the Real Thing in Rails Tests
- How button_to Changed in Rails 7 (and Broke Our CSS)
- Managing Temporary Data in Multi-Step Rails Forms
- Custom HTTP Headers in Rails: Picking the Right Format
- How Rails Sessions Work with Warden and Cookies
- Idempotent Rails Requests with a Redis Semaphore Lock
- Timezone Bugs in Ruby: BST vs UTC in CI and Cron
- Debugging Transaction Deadlocks in Rails Tests: A Case Study
- Avoiding Duplicate Record Errors in Rails Under Concurrency
- Handling Out-of-Order Updates in Async Rails Workflows
- Ordering by an Associated Column Without Breaking includes
- N+1 Queries in Rails: What Silently Breaks `includes`
- Fixing Racing Background Job Updates: Rails to Laravel
- Ruby object IDs, anonymous modules, and Rails cache errors
- Migrating from Kaminari to will_paginate in Rails
- Why Kaminari's Anonymous Modules Break Rails Caching
- Rails in Kubernetes: Migrations, Jobs, and Puma
- Upgrading to Rails 7.2: Four Breaking Changes We Hit
- fail vs raise in Ruby: They're the Same Method
- Speeding Up Nested JSON Serialization in Rails
- delete_all vs destroy_all in Rails: Callbacks and Associations
- Rails N+1 Queries: joins vs preload vs eager_load vs includes
- Production Debugging Techniques for Rails Apps
- Redis Memory Spikes: Tracking Down a Runaway Sidekiq Queue
- Rails Session Stores: Cookie, ActiveRecord, and Redis
- Rails Secrets: Credentials, 1Password, and Cloud Vaults
- How to Set a Breakpoint on Devise's current_user Method
- Fragment Caching a Large List That Changes Constantly
- Redis in Ruby on Rails: Cache Server and Job Queue
- Soft Delete in Rails: Discard vs ActsAsParanoid
- How Rails Loads Your App: Rake, Console, Server, and Tests
- Rails unscope: removing default scope conditions