2017-02-20 5 views
0

는 기본적으로 우리는 두 가지 모델이 있고 내가 정말 가지고 무엇을 의미 테이블레일은 has_and_belongs_to_many의 변형을 지원합니까?

class Guests < ActiveRecord::Base 
    has_and_belongs_to_many :events 
end 

class Event < ActiveRecord::Base 
    has_and_belongs_to_many :guests 
end 

class CreateJoinTableGuestsEvents < ActiveRecord::Migration 
    def change 
    create_join_table :guests, :events do |t| 
     t.index [:guest_id, :event_id] 
     t.index [:event_id, :guest_id] 
    end 
    end 
end 

가입 : 그것은 조인 테이블을 사용하는

class Guest < ActiveRecord::Base 
    has_one :event 
end 

class Event < ActiveRecord::Base 
    belongs_to :guests 
end 

이 가능합니까?

답변

1

정말로 has_one 및 belongs_to를 원하면 join 테이블을 사용하지 않아야합니다. 이벤트에 guest_id을 추가하면됩니다.

0

빌드 : one_to_many 연결. 여기 어떻게 보일 것입니다.

class Guest < ActiveRecord::Base 
    belongs_to :event 
end 

class Event < ActiveRecord::Base 
    has_many :guests 
end 

당신은 event.guests하여 이벤트의 손님을받을 수 있으며, 사용자가 돌풍이 될 것입니다 이벤트를 얻을 guest.event