Rails “undefined method for ActiveRecord_Associations_CollectionProxy”

前端 未结 2 663
忘了有多久
忘了有多久 2020-12-15 12:49

I have this models:

class Student < ActiveRecord::Base

    has_many :tickets
    has_many :movies, through: :tickets

end


class Movie < ActiveRecord         


        
2条回答
  •  我在风中等你
    2020-12-15 13:38

    @students = @movie.cinema.companies.students.all to explain why this throws error

    @movie.cinema will give you cinema of the movie

    @movie.cinema.companies will give you a list of companies for that cinema as an ActiveRecord_Association_CollectionProxy

    Then when you call students on the CollectionProxy of companies via @movie.cinema.companies.students it throws an error because CollectionProxy has no such method.

    @students = @movie.cinema.companies.find(6).students.all will work because you get a list of companies, then from that list you find a single company with id 6 and list all students for that single company.

提交回复
热议问题