2012-03-12 4 views
1

Rails에 매우 익숙 ... 사람들이 사진을 비교할 수있는 기능을 구축하고 있으며 구조화 방법을 정확하게 결정할 수 없습니다. 이상적으로는 내가 비교하고자하는 사진뿐만 아니라 비교 된 사진의 ID 기록을 유지하는 "비교"테이블을 갖는 것이 바람직하지만이 사진이 "belongs_to"사진의 사용을 보증하는지 여부는 확실하지 않습니다. 기능 또는 아닙니다. 그렇다면 각 비교가 두 개의 개별 사진에 속한다고 어떻게 지정합니까?Rails를 사용하여 belongs_to를 사용해야하는지 잘 모르겠 음

답변

1

다음 has_many, :through => Model 구조를 사용하면 조인 테이블에 추가 속성을 사용할 수 있습니다. 'comparison_user_id'입니다.

class Photo < ActiveRecord::Base 
    has_many :appearances 
    has_many :users, :through => :appearances 
end 

class Appearance < ActiveRecord::Base 
    belongs_to :photo 
    belongs_to :user 
end 

class User < ActiveRecord::Base 
    has_many :appearances 
    has_many :photos, :through => :appearances 
end 
+0

비슷한 모양은 비교보다 더 알기 쉽고 설명적인 이름이었습니다. 이름 지정이 중요합니다. –

+0

나는 당신이 그 질문을 얻지 못했다고 생각합니다. * 2 개의 사진과 사용자가 포함 된 모델이기 때문에 이름이 비교되었습니다. –

+0

@JakubHampl 맞습니다. : through 매개 변수를 사용하는 것이 여전히이 작업을 수행하는 핵심 요소 일 수 있다고 생각합니다. 나는 그것을 가지고 놀고, 내가 무엇을 얻는 지 볼 것입니다 .... –

관련 문제