Jak opisał Nermin, próbujesz zażądać kolekcji dzieci z kolekcji dzieci.
Możesz użyć collect
gromadzić studentów z firm na wzór:
@movie.cinema.companies.collect(&:students).flatten.uniq
Myślę jednak, że lepiej byłoby dodać zakres do modelu Studenta w następujący sposób:
scope :for_companies, ->(_companies) {joins(:companies).where(company: _companies)}
Wywoływane z Student.for_companies(@movie.cinema.companies)
Zastrzeżenie:nieprzetestowane, ale powinno być punktem wyjścia!