我得到错误"未初始化常量Assignment::AssignmentsCourse"。以下是我的型号:
分配.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
课程.rb
class Course < ActiveRecord::Base
has_and_belongs_to_many :assignments
end
作业课程.rb
class AssignmentCourse < ActiveRecord::Base
belongs_to :assignment
belongs_to :course
attr_accessible :assignment_id, :course_id
end
has_many :assignmentsCourses
这个和你所有的字段都不应该是驼色大小写的——它不是ruby风格,它破坏了类加载。结尾也只能用复数形式,不能同时用两个词。在后台activerecord取消您提供的符号的模糊性,并执行类似于require
的类加载。例如,如果您尝试require 'activeRecord'
,它将不起作用。Ruby使用下划线来派生多单词类名。
它应该是:has_many :assignment_courses
改变也有很多。您的访问器也不应该是驼色大小写的ruby_style_is_to_underscore。