所以我有一张很多桌子。我需要获取没有链接 image_container 的所有批次。我认为最好的方法是加入,它只会给我很多没有图像容器的东西。Rails的默认设置Join
与此完全相反。找到没有图像的批次的最佳途径是什么?
@lots = @event.lots.order("#{sort_column} #{sort_direction}").page params[:page]
@lots = @lots.joins(:image_containers)
获得很多没有的最好方法是什么image_container
?
Image_container 是一个多态对象。所以 Image_container 的 imageable_type 为“Lot”,而 imageable_id 是 Lot 的 id。
image_container 模型:
belongs_to :imageable, :polymorphic => true
belongs_to :image, :inverse_of => :image_containers
事件模型:
has_many :image_containers, :as => :imageable, :inverse_of => :imageable, :dependent => :destroy
has_many :images, :through => :image_containers
地块型号:
has_many :image_containers, :as => :imageable, :inverse_of => :imageable, :dependent => :destroy
has_many :images, :through => :image_containers