У меня есть две таблицы Join, первая между alarm_id | list_id
, а другая между list_id | car_id
что делать, чтобы попасть в тревожное шоу, автомобили в каждом списке, я попытался использовать has_many: cars : через => списки, но это не работает любая помощь пожалуйстаКак получить данные из двух разных таблиц соединений
ответ
Вы должны правильно настроить ассоциации. Он должен выглядеть примерно так, в зависимости от требований ур.
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.
У меня нет модели CarList или AlarmList, но я скорректировал отношения, но не могу знать, что писать, я попробовал alarm.list.cars, но не получил никакого результата. – peterateftawfik
Хм может показать ур схему для соединения таблицы, аварийные сигналы, списки и автомобили ... Кстати, это должно быть '' '' 'alarm.lists.first.cars'''', чтобы произвести какой-либо результат, если ур-ассоциации верны – Vic
все идет хорошо, но при использовании, например, alarm.cars .size на индексной странице это дает мне ошибку неинициализированную константу Alarm :: CarsList и выделяет следующую строку:
У вас есть 'list_id' в руке? –