method_missing(method, ...) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/relation/delegation.rb, line 118
        def method_missing(method, ...)
          if model.respond_to?(method)
            if !DelegateCache.delegate_base_methods && Base.respond_to?(method)
              # A common mistake in Active Record's own code is to call `ActiveRecord::Base`
              # class methods on Association. It works because it's automatically delegated, but
              # can introduce subtle bugs because it sets the global scope.
              # We can't deprecate this behavior because gems might depend on it, however we
              # can ban it from Active Record's own test suite to avoid regressions.
              raise NotImplementedError, "Active Record code shouldn't rely on association delegation into ActiveRecord::Base methods"
            elsif !Delegation.uncacheable_methods.include?(method)
              model.generate_relation_method(method)
            end

            scoping { model.public_send(method, ...) }
          else
            super
          end
        end
Register or log in to add new notes.