Всегда активная ассоциация загрузки с сущностью
Можно ли всегда загружать связь при загрузке объекта. Например
class Book
has_many :chapters
end
class Chapters
belongs_to :book
end
book = Book.find_by_title('Moby Dick')
Я знаю, что вы можете получать нагрузку в вызове, чтобы найти ie. book = Book.find_by_title( 'Moby Dick', :include => :chapters)
, но в этом случае я знаю, что в любое время, когда я нахожу книгу, я всегда хочу, чтобы главы были загружены без необходимости запоминать параметр :include =>
.
Ответы
Ответ 1
В вашей модели вы можете включить "default_scope".
Для Rails 4:
class Book
has_many :chapters
default_scope { includes(:chapters) }
end
Для Rails 3:
class Book
has_many :chapters
default_scope includes(:chapters)
end
Для Rails 2:
class Book
has_many :chapters
default_scope :include => :chapters
end