Prevención de consultas N + 1 en Rails

He visto algunos ejemplos de pasar una:include valor hash cuando se llama a uno de los ActiveRecordfind métodos en Rails. Sin embargo, no he visto ningún ejemplo de si esto es posible a través de métodos de relación. Por ejemplo, digamos que tengo lo siguiente:

def User < ActiveRecord::Base
  has_many :user_favorites
  has_many :favorites, :through => :user_favorites
end

def Favorite < ActiveRecord::Base
  has_many :user_favorites
  has_many :users, :through => :user_favorites
end

def UserFavorite < ActiveRecord::Base
  belongs_to :user
  belongs_to :favorite
end

Todos los ejemplos que veo muestran un código como este:

User.find(:all, :include => :favorite)

Pero no veo ningún ejemplo que muestre el uso de las relaciones. ¿Sería posible para mí hacer algo como esto?

User.favorites(:include => :user)

Respuestas a la pregunta(2)

Su respuesta a la pregunta