Ошибка Rails неинициализированная константа - PullRequest
0 голосов
/ 29 января 2012

Я получаю сообщение об ошибке «Неинициализированная константа Assignment :: AssignmentsCourse». Вот мои модели:


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

1 Ответ

3 голосов
/ 29 января 2012
has_many :assignmentsCourses

Это и все ваши поля не должны быть верблюжьими, они не в стиле ruby ​​и нарушают загрузку классов. Конец должен быть только во множественном числе, а не в обоих словах. За кулисами activerecord удаляет предоставленный вами символ и выполняет загрузку классов, аналогично require. Если вы попробовали require 'activeRecord', это не сработало бы, например. Ruby использует подчеркивания для получения имен классов из нескольких слов.

Должно быть: has_many :assignment_courses

Изменить есть много, хотя тоже. Ваши аксессоры также не должны быть в верблюжьей клетке. Ruby_style_is_to_underscore.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...