class Bullet::Detector::NPlusOneQuery
def call_association(object, associations)
then, it checks if this associations call is unpreload.
first, it keeps this method call for object.association.
executed when object.assocations is called.
def call_association(object, associations) return unless Bullet.start? return unless object.id add_call_object_associations(object, associations) Bullet.debug("Detector::NPlusOneQuery#call_association", "object: #{object.bullet_ar_key}, associations: #{associations}") if conditions_met?(object.bullet_ar_key, associations) Bullet.debug("detect n + 1 query", "object: #{object.bullet_ar_key}, associations: #{associations}") create_notification caller_in_project, object.class.to_s, associations end end