Pregunta

En mi aplicación Rails tengo tres modelos, Projects, BlogPosts e Images. Los proyectos y BlogPosts pueden tener muchas imágenes vinculadas y una imagen puede vincularse a un Proyecto, a un BlogPost o a ambos.

¿Cuál es la mejor manera de configurar las asociaciones para que esto funcione en Rails?

¿Fue útil?

Solución

Separaría el habtm en una clase de modelo separada, ImageLink. Entonces obtendrías:

Project
  has_many :image_links, :as => :resource
BlogPost
  has_many :image_links, :as => :resource
ImageLink
  belongs_to :image
  belongs_to :resource, :polymorphic => true
Image:
  has_many :image_links
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top