Rails has_one vs belong_to semantics

Ich habe ein Model, das einen darstelltContent Element, das einige Bilder enthält. Die Anzahl der Bilder ist festgelegt, da diese Bildreferenzen sehr inhaltsspezifisch sind. Zum Beispiel dieContent Modell bezieht sich auf dieImage Modell zweimal (Profilbild und Hintergrundbild). Ich versuche, ein Generikum zu vermeidenhas_manyund bei mehreren bleibenhas_one's. Die aktuelle Datenbankstruktur sieht folgendermaßen aus:

contents
  - id:integer
  - integer:profile_image_id
  - integer:background_image_id

images
  - integer:id
  - string:filename
  - integer:content_id

Ich kann einfach nicht herausfinden, wie ich die Assoziationen hier richtig einrichte. DasContent Modell könnte zwei enthaltenbelongs_to Verweise auf eineImageDies scheint jedoch semantisch nicht richtig zu sein, da im Idealfall ein Bild zum Inhalt gehört oder mit anderen Worten, der Inhalt aus zwei Bildern besteht.

Dies ist das Beste, was ich mir vorstellen kann (durch Brechen der Semantik):

class Content
  belongs_to :profile_image, :class_name => 'Image', :foreign_key => 'profile_image_id'
  belongs_to :background_image, :class_name => 'Image', :foreign_key => 'background_image_id'
end

Bin ich weit weg und gibt es einen besseren Weg, um diese Assoziation zu erreichen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage