2012-09-30 6 views
0

기본적으로, 지금은 위치와 사용자가 있으며 관계는 "따라옵니다". 이 두 가지 모두 has_and_belongs_to_many 관계입니다. 데이터베이스에 사용자와 위치를 이미 만들었지 만 사용자가 위치를 따를 것을 결정할 때 두 위치를 연결하려고합니다. 어떻게해야합니까?레일에 관계를 만드는 방법은 무엇입니까?

LocationUser가 위치 012.사용자 테이블 또는 Location.create (...) 등의 조인 테이블 인 경우 LocationUser.new (..)를 사용하려고 생각했지만 어느 쪽이든 마음에 들지 않습니다. 그들은 내가하고 싶은 일을하고 있습니다.

미리 감사드립니다.

답변

0

조인 테이블에는 모델 또는 외래 키가 없어야합니다. create_table 마이그레이션에서 id: false을 설정하십시오.

그런 다음 User.locations << Location.new 또는 이와 유사한.

0

(당신이 가입 모델을 실제 HABTM 사용하지 않는 경우) 당신은 범위 additition를 사용할 수 있습니다

current_user.locations << @location 

또는 범위의 생성을 (당신이 가입 모델이있는 경우) :

current_user.location_users.create(:location_id => @location) 
관련 문제