validar validaciones rails polimorficas formulario asociaciones ruby-on-rails ruby activerecord polymorphic-associations

ruby on rails - validaciones - Asociación polimórfica con múltiples asociaciones en el mismo modelo



validaciones rails (2)

Estoy un poco confundido acerca de una asociación polimórfica que tengo. Necesito un modelo de artículo para tener una imagen de encabezado y muchas imágenes, pero quiero tener un solo modelo de imagen. Para hacer las cosas aún más confusas, el modelo de la imagen es polimórfico (para permitir que otros recursos tengan muchas imágenes).

Estoy usando esta asociación en mi modelo de artículo:

class Article < ActiveRecord::Base has_one :header_image, :as => :imageable has_many :images, :as => :imageable end

es posible? Gracias.


Sí. Eso es totalmente posible.

Es posible que deba especificar el nombre de la clase para header_image , ya que no se puede inferir. Include :dependent => :destroy too, para garantizar que las imágenes se destruyan si se elimina el artículo

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

luego en el otro extremo ...

class Image < ActiveRecord::Base belongs_to :imageable, :polymorphic => true end


Intenté esto, pero luego header_image devuelve una de las imágenes. Simplemente porque la tabla de imágenes no especifica un tipo de uso de imagen diferente (header_image vs. image normal). Simplemente dice: imageable_type = Imagen para ambos usos. Entonces, si no hay información almacenada sobre el tipo de uso, ActiveRecord no puede diferenciar.