undefined method for ActiveRecord::Relation

后端 未结 2 485
感动是毒
感动是毒 2020-12-28 15:39

User model

class User < ActiveRecord::Base
  has_many :medicalhistory 
end

Mdedicalhistory model

class Medicalhistory &l         


        
2条回答
  •  一整个雨季
    2020-12-28 16:24

    One other thing to note, :medicalhistory should be plural as it is a has_many relationship

    So your code:

    class User < ActiveRecord::Base
      has_many :medicalhistory 
    end
    

    Should be written:

    class User < ActiveRecord::Base
      has_many :medicalhistories 
    end
    

    From the Rails docs (found here)

    The name of the other model is pluralized when declaring a has_many association.

    This is because rails automatically infers the class name from the association name.

    If a user only had_one medicalhistory this would be singular as you had written:

    class User < ActiveRecord::Base
      has_one :medicalhistory 
    end
    

    I know you already accepted an answer, but thought this would help reduce further errors/confusion.

提交回复
热议问题