У меня есть следующие ассоциации:
class Ship < ApplicationRecord
has_many :captain_profiles
has_many :captains, through: :captain_profiles
end
class CaptainProfile < ApplicationRecord
belongs_to :captain
belongs_to :ship
end
class Captain < ApplicationRecord
has_one :captain_profile
has_many :schedules
end
class Schedule < ApplicationRecord
belongs_to :captain
end
И мне нужен список всех кораблей, которые готовы к выходу в море.Другими словами, мне нужно найти все корабли, у которых есть хотя бы один капитан, хотя бы с одним из его расписаний.
Я думал о слиянии двух внутренних соединений, так как мне нужны корабли с капитанами, у которых есть расписания.Я пробовал Captain.includes(:schedules).where("schedule.id IS NOT NULL")
и так с кораблями, но это не работает.Может ли кто-нибудь объяснить мне, что я делаю неправильно и как мне это сделать?