В настоящее время я создаю многоступенчатую форму с использованием направляющих и решил сделать это, создав класс для каждого шага формы и поместив все эти классы в модуль с именем IntroQuizSteps. Пока что мой модуль очень прост, включая класс «Base» и класс «StepOne», который является потомком «Base». Я открыл свою консоль rails и попытался создать новый экземпляр моего класса «Base» (используя команду IntroQuizSteps :: Base.new), чтобы посмотреть, все ли работает, но каждый раз, когда я получаю сообщение об ошибке «NameError: неинициализированная константа IntroQuizSteps ". Я не уверен, почему это происходит, поскольку этот модуль существует внутри папки app / models и, насколько мне известно, все внутри каталога «app» должно быть загружено автоматически. Любая помощь в том, как я мог бы успешно включить этот модуль в свой проект, была бы очень признательна.
Вот код из моего модуля IntroQuizSteps внутри папки app / models / wizards:
module IntroQuizSteps
class Base
include ActiveModel::Model
end
class StepOne < Base
attr_accessor :own
validates :own, presence: true
end
end





Механизм автозагрузки Rails с использованием его соглашений для загрузки модуля. Согласно соглашениям Rails, ваше имя файла и имя модуля должны совпадать. Так что замена app/models/wizards на app/models/intro_quiz_steps будет работать.