2011-10-24 7 views
0

내가 생각하는 상황은 다음과 같습니다. 내 사이트의 각 사용자마다 프로필 사진을 지정하고 싶습니다. 그래서 다음 코드를 사용합니다. 모델 사용자 has_one : profile_pic, : classname => '그림' 끝 그러나 많은 그림이 사용자와 연관되어 있지 않기 때문에 모든 그림 개체에 외래 키 user_id를 부여하고 싶지 않습니다. 조금도. 그렇게 할 수있는 방법이 있습니까? 내보기 당신은 싶어 사진이 업데이트 될 때마다 사용자의 그 여러 프로필 사진을 저장하고 업데이트하지 않는 경우 has_one 연결을 사용할 수 있습니다에서외래 키를 지정하지 않고 레일에서 has_one 관계를 사용하는 방법

답변

1

. 한편

는 사용자가 업로드 한 모든 프로필 사진을 저장하기 위해 생각하는 경우

는 당신이 당신의 사용자가 사진을 프로필에 저장 앨범 모델을 만들 수 있습니다.

has_many :photos, :through => :albums 

을 사용하고 첫 번째 이미지를 사용자에게 표시하십시오.

1

당신은

class User 
    belongs_to :profile_pic, :classname => 'Pic' 
end 

을하고 users 테이블에 profile_pic_id을 가질 수 있습니다. 말이된다.

사용자 belonging_to 사진에 대해 걱정하지 마십시오. 키가 다른 객체의 테이블이 아니라이 객체의 테이블에 저장된다는 것을 의미합니다.

관련 문제