Ma question est essentiellement le même que celui ci: http://stackoverflow.com/questions/1168047/polymorphic-association-with-multiple-associations-on-the-same-model
Cependant, la proposition/accepté solution ne fonctionne pas, comme illustré par un intervenant plus tard.
J'ai une Photo de classe qui est utilisée partout dans mon application. Un poste peut avoir une seule photo. Cependant, je tiens à re-utiliser le polymorphe de la relation à ajouter une deuxième photo.
Avant:
class Photo
belongs_to :attachable, :polymorphic => true
end
class Post
has_one :photo, :as => :attachable, :dependent => :destroy
end
Souhaitée:
class Photo
belongs_to :attachable, :polymorphic => true
end
class Post
has_one :photo, :as => :attachable, :dependent => :destroy
has_one :secondary_photo, :as => :attachable, :dependent => :destroy
end
Toutefois, cela échoue car il ne peut pas trouver la classe "SecondaryPhoto". Basé sur ce que je pourrais dire de cet autre thread, je veux faire:
has_one :secondary_photo, :as => :attachable, :class_name => "Photo", :dependent => :destroy
À l'exception de l'appel de Post#secondary_photo retourne simplement la même photo qui est jointe via la Photo de l'association, par exemple Post#photo === Post#secondary_photo. En regardant le SQL, il fait OÙ type = "Photo" au lieu de, disons, "SecondaryPhoto" comme je voudrais...
Pensées? Merci!