Rails has_one vs belongs_to sémantique

J'ai un modèle représentant un Content élément qui contient certaines images. Le nombre d'images fixes et ces références sur l'image sont très spécifiques au contenu. Par exemple, le Content modèle se réfère à la Image modèle à deux reprises (profil d'image, et l'image de fond). Je suis en essayant d'éviter un générique has_many, et le coller à plusieurs has_ones'. L'actuelle structure de base de données ressemble à:

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

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

Je ne peux pas comprendre comment le programme d'installation de la associations correctement ici. Le Content modèle pourrait contenir deux belongs_to les références à un Image, mais ça ne semble pas sémantiquement juste cause idéalement une image appartient au contenu, ou en d'autres termes, le contenu dispose de deux images.

C'est le mieux que je pouvais penser (par rupture de la sémantique):

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

Suis-je, " et il y a une meilleure façon de parvenir à cette association?

InformationsquelleAutor Anurag | 2010-01-25