Szyny mają semantykę vs_należą do_do_do

Mam model reprezentujący aContent element zawierający niektóre obrazy. Liczba obrazów jest ustalona, ​​ponieważ te odniesienia do obrazów są bardzo specyficzne dla treści. Na przykładContent model odnosi się doImage model dwa razy (obraz profilu i obraz tła). Próbuję uniknąć generycznegohas_manyi trzymanie się wieluhas_onejest. Aktualna struktura bazy danych wygląda następująco:

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

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

Po prostu nie mogę się dowiedzieć, jak poprawnie skonfigurować skojarzenia. TheContent model może zawierać dwabelongs_to odniesienia doImage, ale to nie wydaje się semantycznie właściwe, ponieważ idealnie obraz należy do treści, czyli innymi słowy, treść ma dwa obrazy.

To najlepsze, co mogłem wymyślić (łamiąc semantykę):

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

Czy jestem daleko i czy istnieje lepszy sposób na osiągnięcie tego związku?

questionAnswers(2)

yourAnswerToTheQuestion