0

「初期化されていない定数Assignment :: AssignmentsCourse」というエラーが発生しました。ここに私のモデルは以下のとおりです。Railsエラー初期化されていない定数Assignment :: AssignmentsCourse in Has Many Through Association


assignment.rb

class Assignment < ActiveRecord::Base 
    has_many :assignmentsCourses 
    has_many :courses, :through => :assignmentsCourses 
    attr_accessible :name, :dateAssigned, :dateDue, :description, :weight, :category_tokens 
    attr_reader :category_tokens 

    def category_tokens=(ids) 
     puts 'el ids: ', ids.split(",") 
     self.courseIds = ids.split(",") 
    end 
end 

course.rb

class Course < ActiveRecord::Base 
    has_and_belongs_to_many :assignments 
end 

AssignmentCourse.rb

class AssignmentCourse < ActiveRecord::Base 
    belongs_to :assignment 
    belongs_to :course 
    attr_accessible :assignment_id, :course_id 
end 

答えて

3
has_many :assignmentsCourses 

これとあなたのすべてのフィールドは、ラクダすべきではないが、それはルビーのスタイルではない、それはクラスのロードを壊すケース入り。終わりは、両方の言葉ではなく、複数形でなければなりません。背後では、activerecordはあなたが提供するシンボルを変形し、requireのようなクラスローディングを行います。もしあなたがrequire 'activeRecord'を試してみたら、それはうまくいきません。 Rubyはアンダースコアを使用してマルチワードクラス名を導出します。

それは次のようになります。インクルードはあまりにもかかわらず、多くを持ってい has_many :assignment_courses

変更。あなたのアクセサは、ruby_style_is_to_underscoreのどちらかをラクダにしてはいけません。

関連する問題