Asociaciones de rieles, habtm? ¿Polimórfico? ¿Ambos?
-
05-07-2019 - |
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?
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