Preload associations in loaded records

Posted Over 13 years ago. Visible to the public. Repeats.

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

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

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 Show archive.org snapshot for new projects, which is being actively maintained and has test coverage for all versions of Rails.

Arne Hartherz
Last edit
Over 1 year ago
Michael Leimstädtner
Keywords
rails, eager, loading, includes, object, instance
License
Source code in this card is licensed under the MIT License.
Posted by Arne Hartherz to makandra dev (2010-09-07 08:44)