Я новичок в RoR и все еще играю с ассоциациями. Мне нужно иметь две ссылки на конкретную модель в другой модели. Код леса не работает, и я получаю сообщение об ошибке "неинициализированной константы".
Команды генерации:
script/generate scaffold BaseModel name:string
script/generate scaffold NewModel name:string base1:references base2:references
db:migrate
Сгенерированные модели:
class NewModel < ActiveRecord::Base
belongs_to :base1
belongs_to :base2
end
и
class BaseModel < ActiveRecord::Base
has_many :new_models # I added this line
end
Когда я пытаюсь создать new_model в /new_models/new
, я попробовал как ID, так и имя BaseModel, но он не работает. Ошибка, которую я получаю:
uninitialized constant NewModel::Base1
Я предположил, что он сопоставляет имена, поэтому в моем методе create я попытался явно установить экземпляры BaseModel:
@new_model = NewModel.new(params[:new_model])
@base1 = BaseModel.find(1) # this exists
@base2 = BaseModel.find(2) # this exists
@new_model.base1 = @base1 # This throws the same error as above
Есть ли что-нибудь, чего я не вижу?