Вы хотите это:
Package.includes( :package_items ).all
( Примечание: Передача второй опции в find
официально устарела, а передача :all
, :first
и т. Д. В find
будет устаревшей в Rails 3.2 (я думаю) Вместо этого вы должны использовать методы поиска Package.all
, Package.first
и т. Д. В основном единственный раз, когда вы должны использовать find
, это когда у вас есть идентификатор или идентификаторы для передачи в качестве единственного (ых) параметра (ов).
Если вы хотите, вы можете создать для этого область видимости, что часто предпочтительнее, чем явное определение метода класса:
class Package < ActiveRecord::Base
has_many :package_items
scope :with_items, includes( :package_items )
end
Тогда вы можете просто позвонить, например, Package.with_items
.