2017-02-26 6 views
0
class Project < ActiveRecord::Base 
has_many :photos, -> { order(main: :desc, id: :asc) }, as: :photoable, class_name: 'Photo', dependent: :destroy 

class Photo < ActiveRecord::Base 
    belongs_to :photoable, polymorphic: true 

projects = Project.limit(10).includes(:photos) 

SELECT "projects".* FROM "projects" WHERE "projects"."is_deleted" = $1 LIMIT 10 [["is_deleted", "f"]] 
Photo Load (0.5ms) SELECT "photos".* FROM "photos" WHERE "photos"."photoable_type" = 'Project' AND "photos"."photoable_id" IN (1, 403, 371, 8784, 12, 34, 11, 1111, 31, 22) ORDER BY "photos"."main" DESC, "photos"."id" ASC 

projects.first.photo 
Photo Load (0.6ms) 

多型の関係で動作していません。どのように私はDBのクエリを避けることができる任意のアイデア?私はその後、プロジェクトを反復Railsの4.2.6 &ルビー2.3.1p112レールプリロードは、(0.6ms)で実行されますDBクエリーを送信している

答えて

0
projects = Project.includes(:photos).limit(10) 

を使用してい

。別のクエリをトリガすることはありません。

projects.each do |project| 
    project.photo 
end 
関連する問題