Polymorphic Association with multiple associations on the same model

前端 未结 2 1401
长情又很酷
长情又很酷 2020-12-28 22:40

I\'m slightly confused about a polymorphic association I\'ve got. I need an Article model to have a header image, and many images, but I want to have a single Image model. T

相关标签:
2条回答
  • 2020-12-28 23:01

    I tried this, but then header_image returns one of the images. Simply because the images table doesn't specify a different image use type (header_image vs. normal image). It simply says: imageable_type = Image for both uses. So if there's no information stored about the use type, ActiveRecord cannot differentiate.

    0 讨论(0)
  • 2020-12-28 23:02

    Yep. That's totally possible.

    You might need to specify the class name for header_image, as it can't be inferred. Include :dependent => :destroy too, to ensure that the images are destroyed if the article is removed

    class Article < ActiveRecord::Base
      has_one :header_image, :as => :imageable, :class_name => 'Image', :dependent => :destroy
      has_many :images, :as => :imageable, :dependent => :destroy
    end
    

    then on the other end...

    class Image < ActiveRecord::Base
      belongs_to :imageable, :polymorphic => true
    end
    
    0 讨论(0)
提交回复
热议问题