2016-08-07 3 views
0

두 개의 조인 테이블이 있는데 첫 번째 테이블은 alarm_id | list_id이고 두 번째 테이블은 list_id | car_id 사이입니다. 각 목록의 자동차는 어떻게해야할까요, 나는 has_many : cars를 사용하려고했습니다. : => 목록을 통해,하지만 작동하지 않습니다. 어떤 도움 바랍니다두 개의 서로 다른 조인 테이블에서 데이터를 가져 오는 방법

+0

당신은'list_id'를 가지고 있습니까? –

답변

1

연결을 제대로 설정해야합니다. UR 요구 사항에 따라 다음과 같이 보일 것입니다.

class Alarm < ActiveRecord::Base 
    has_many :alarm_lists 
    has_many :lists, through: :alarm_lists 
    has_many :car_lists, through: :lists 
    has_many :cars, through: :car_lists 
    ... 
end 

class List < ActiveRecord::Base 
    has_many :car_lists 
    has_many :cars, through: :car_lists 
    ... 
end 

class Car < ActiveRecord::Base 
    has_many :car_lists 
    has_many :lists, through: :car_lists 
    ... 
end 

class CarList < ActiveRecord::Base 
    belongs_to :car 
    belongs_to :list 
    ... 
end 

class AlarmList < ActiveRecord::Base 
    belongs_to :alarm 
    belongs_to :list 
    ... 
end 

자세한 내용은 here을 확인하십시오.

+0

CarList 모델이나 AlarmList가 없지만 관계를 조정했지만 작성해야 할 내용을 알 수는 없지만 alarm.list.cars를 시도했지만 아무런 결과도 얻지 못했습니다 – peterateftawfik

+0

조인을 위해 UML 스키마를 표시 할 수 있습니까? 테이블, 알람,리스트 및 자동차 등 ... btw는 경보 연결이 올바른 경우 임의의 결과를 생성하기 위해'''alarm.lists.first.cars''''이어야합니다. – Vic

+0

모두 잘 작동하지만 예를 들어 alarm.cars를 사용할 때 .size 인덱스 페이지에서 초기화되지 않은 상수 오류가 발생했습니다. Alarm :: CarsList 및 다음 줄을 강조 표시합니다. <% = alarm.cars %> – peterateftawfik

관련 문제