instance method strict_loading!

Ruby on Rails 7.0.10

Since v6.1.7.10

Available in: v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

strict_loading!(value = true, mode: :all)

Sets the record to strict_loading mode. This will raise an error if the record tries to lazily load an association.

user = User.first
user.strict_loading! # => true
user.comments
=> ActiveRecord::StrictLoadingViolationError

Parameters:

  • value - Boolean specifying whether to enable or disable strict loading.

  • mode - Symbol specifying strict loading mode. Defaults to :all. Using

    :n_plus_one_only mode will only raise an error if an association
    that will lead to an n plus one query is lazily loaded.

Example:

user = User.first
user.strict_loading!(false) # => false
user.comments
=> #<ActiveRecord::Associations::CollectionProxy>

Parameters

value opt = true
mode key = :all
Source
# File activerecord/lib/active_record/core.rb, line 662
    def strict_loading!(value = true, mode: :all)
      unless [:all, :n_plus_one_only].include?(mode)
        raise ArgumentError, "The :mode option must be one of [:all, :n_plus_one_only]."
      end

      @strict_loading_mode = mode
      @strict_loading = value
    end

Defined in activerecord/lib/active_record/core.rb line 662 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Core

Type at least 2 characters to search.

↑↓ navigate · open · esc close