method

strict_loading!

Importance_2
Ruby on Rails latest stable (v7.1.3.2) - 0 notes - Class: Core
strict_loading!(value = true, mode: :all) public

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.address.city
=> ActiveRecord::StrictLoadingViolationError
user.comments.to_a
=> 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.

Examples

user = User.first
user.strict_loading!(false) # => false
user.address.city # => "Tatooine"
user.comments.to_a # => [#<Comment:0x00...]

user.strict_loading!(mode: :n_plus_one_only)
user.address.city # => "Tatooine"
user.comments.to_a # => [#<Comment:0x00...]
user.comments.first.ratings.to_a
=> ActiveRecord::StrictLoadingViolationError
Show source
Register or log in to add new notes.