Như Nermin mô tả, bạn đang cố gắng yêu cầu một bộ sưu tập trẻ em, từ một bộ sưu tập trẻ em.
Bạn có thể sử dụng collect
để tập hợp sinh viên từ các công ty theo đường lối:
@movie.cinema.companies.collect(&:students).flatten.uniq
Nhưng tôi nghĩ rằng bạn nên làm tốt hơn nếu thêm phạm vi vào mô hình Sinh viên của mình dọc theo các dòng:
scope :for_companies, ->(_companies) {joins(:companies).where(company: _companies)}
Được gọi bằng Student.for_companies(@movie.cinema.companies)
Tuyên bố từ chối trách nhiệm:chưa được kiểm tra, nhưng phải là điểm khởi đầu!