Rails Lazy Load Hooks Cheatsheet

Rails provides Lazy Load Hooks through ActiveSupport. We can listen for when something loads and execute a block when it runs with on_load.

Here's an example how to use it:

ActiveSupport.on_load(:active_record) do
  include Multitenancy
end

Available Lazy Load Hooks in Rails

  • :action_cable
  • :action_cable_channel
  • :action_cable_channel_test_case
  • :action_cable_connection
  • :action_cable_connection_test_case
  • :action_cable_test_case
  • :action_controller
  • :action_controller_api
  • :action_controller_base
  • :action_controller_test_case
  • :action_dispatch_integration_test
  • :action_dispatch_request
  • :action_dispatch_response
  • :action_dispatch_system_test_case
  • :action_mailbox
  • :action_mailbox_inbound_email
  • :action_mailbox_record
  • :action_mailbox_test_case
  • :action_mailer
  • :action_mailer_test_case
  • :action_text_content
  • :action_text_encrypted_rich_text
  • :action_text_record
  • :action_text_rich_text
  • :action_view
  • :action_view_test_case
  • :active_job
  • :active_job_test_case
  • :active_model
  • :active_record
  • :active_record_fixture_set
  • :active_record_mysql2adapter
  • :active_record_postgresqladapter
  • :active_record_sqlite3adapter
  • :active_record_trilogyadapter
  • :active_storage_attachment
  • :active_storage_blob
  • :active_storage_record
  • :active_storage_variant_record
  • :active_support_test_case
  • :after_initialize
  • :after_routes_loaded
  • :before_configuration
  • :before_eager_load
  • :before_initialize
  • :i18n
  • :message_pack

For more details, check out the Rails Engines Guide - Available Load Hooks

Want to stay up-to-date with Ruby on Rails?

Join 86,140+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.