Отдел, курс, классы студентов.Rails проверяет, может ли объект с ограничением внешнего ключа быть удален
class Department < ActiveRecord::Base
has_many :courses
end
class Course < ActiveRecord::Base
belongs_to :department
has_many :students
end
class Student < ActiveRecord::Base
belongs_to :course
end
Отдел и курс имеют зависимое ограничение foreign_key. Когда отдел удален, все его курсы необходимо удалить. Но если курс имеет назначенный ученик, этот курс не может быть удален. Смысл, отдел, в свою очередь, не может быть удален.
Теперь мне нужно найти, если отдел можно удалить, чтобы отобразить ссылку удаления на индексной странице. Есть ли способ, которым я могу найти это без запроса через все курсы, чтобы проверить, назначены ли ученики? Проблема в том, что я должен отображать сотни отделов. И для показа каждой ссылки на удаление мне нужно много запросов.