Posted about 12 years ago. Visible to the public. Repeats.

Preload associations in loaded records

Sometimes you want to fetch associations for an ActiveRecord that you already loaded, e.g. when it has deeply nested associations.

Edge Rider Archive gives your models a static method preload_associations. The method can be used to preload associations for loaded objects like this:

Copy
class UsersController < ApplicationController def show @user = User.find(params[:id]) @user.preload_associations(threads: { posts: :author }, messages: :sender) end end

The attached initializers remain for legacy purposes. Please prefer to use Edge Rider Archive for new projects, which is being actively maintained and has test coverage for all versions of Rails.

Your development team has a full backlog of feature requests, chores and refactoring coupled with deadlines? We are familiar with that. With our "DevOps as a Service" offering, we support developer teams with infrastructure and operations expertise.

Owner of this card:

Avatar
Arne Hartherz
Last edit:
3 months ago
by Daniel Straßner
Attachments:
preload_associations.rails2.rb, preload_associations.rails3.rb
Keywords:
rails, eager, loading, includes, object, instance
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Arne Hartherz to makandra dev
This website uses short-lived cookies to improve usability.
Accept or learn more