Rails library
includes still decides between separate queries and a LEFT OUTER JOIN on your behalf, which is why a 2014 post on eager loading is the Rails page on this site that ranks today. The posts below are from 2013 to 2015 and are marked for what still applies. Each carries a dated update note on the post itself.
Still applies, with a dated update note
- Eager loading in Rails (2014)
The N+1 problem is unchanged; includes, preload, eager_load, strict_loading and load_async are the tools now.
- Saving an object while skipping callbacks (2014)
The sanctioned callback-free paths today are insert_all, upsert_all, update_column, update_all, touch_all and delete_by; save(validate: false) still runs callbacks.
- Caching in Rails (2014)
Page caching left core in Rails 4; Solid Cache is the default store since 8.0, beside Redis and Memcached, collection caching and HTTP caching.
- Multi-tenancy in Rails (2014)
Schema-per-tenant gave way to connects_to shards, acts_as_tenant for rows, and ActiveRecord::Tenanted for database-per-tenant (SQLite only today).
- Before internationalizing a Rails application (2014)
The concepts hold; the configuration keys changed. Read with the companion post on the challenges.
- Challenges in internationalizing a Rails application (2014)
Pluralization and fallbacks as described; to be merged with the companion post.
- Unicode-aware regular expression validations (2014)
Onigmo classes are standard, Ruby 4.0 ships Unicode 17.0, and the format validator requires anchors.
- Oracle charset issues with Unicode data in Rails (2014)
oracle-enhanced 8.1.x tracks Rails 8.1; NLS_LANG and TZ still belong in an initializer; the behaviour below still bites.
- Rails and the database (2013)
Composite primary keys, load_async, production SQLite with the Solid stack, shards and sorted schema.rb have arrived since.
- Front-end performance in a Rails application (2014)
The measurement approach still applies; Sprockets concatenation gave way to Propshaft, importmap and Thruster.
- Testing in Rails (2013)
Minitest, system tests, parallel tests above 50 cases and bin/ci with config/ci.rb have replaced the tooling described.
Rails 3 era, read for history
- Dissecting Ruby and Rails (2013)
The stack described no longer exists; read for history.
- Popular Rails-based CMSs (2013)
The engines listed target Rails 6.0 and 8.x; Rails 8.1 renders Markdown natively and Action Text is moving to Lexxy.
- Hosting a Rails website (2013)
Heroku entered a sustaining-engineering model on 6 February 2026; Rails 8 positions Kamal 2 as its no-PaaS default.
- Rails versus other languages (2013)
Read with dated usage numbers: Rails is used by 5.9 percent of 2025 Stack Overflow respondents.
- The idea behind Rails (2013)
Convention over configuration still holds; the Rails Doctrine says it better.
- Ruby developer as a career option (2013)
No sourced current figures support it; kept for history.
- Rails for fresh graduates (2015)
No data supports the claim; kept for history.
Case studies
- A fintech Rails API upgrade, 6.1 to 7.1 (anonymous; detail under NDA)
- A healthcare Rails resurrection, 3 to 7 (anonymous; detail under NDA)
Upgrade logs from our own estate
Our internal Rails applications are moving from 7.0 and 7.2 to 8.1 with a per-app log of what broke on each hop and what fixed it. The logs are published here, anonymized per application, as they are written up. None is published yet.
Sources: Active Record querying guide.
Reference
Part of Ruby on Rails consulting at Allerin. Founded 2005. Austin, Texas and Navi Mumbai.