【发布时间】:2009-12-11 13:31:13
【问题描述】:
我是 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_models/new 创建一个 new_model 时,我尝试了 BaseModel 的 ID 和名称,但它不起作用。我得到的错误是:
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
我有什么遗漏的吗?
【问题讨论】:
标签: ruby-on-rails associations