在我的应用程序中运行 rake db:seed
时出现此错误:NameError: uninitialized constant AdmissionEpisode::AdminDistrictId
。
我不知道为什么 - admission_episode.admin_district_id 存在于数据库中并且我在 AdmissionEpisode 模型中有 belongs_to :admin_district
。有人知道发生了什么事吗?
这是 AdminDistrict 种子:
districts.each do |code, name|
AdminDistrict.create({
code: code,
name: name
})
end
这是 AdmissionEpisode 种子(NameError 发生在 AdmissionEpisode.create
行:
admissions.each do |code, total, male, female|
district = AdminDistrict.find_by_code(code)
AdmissionEpisode.create({
admin_district_id: district.id,
total: total,
male: male,
female: female
})
end
上面提到的 districts
和 admissions
都是数据列表,据我所知,所有这些都是正确格式化的。 admin_district
表也已正确填充。
最佳答案
我在踢自己。
问题是模型实际上有 belongs_to :admin_district_id
,一旦将它们更改为 belongs_to :admin_district
,问题就解决了。
我认为问题是在生成模型时出现的 - 我一定是使用了 admin_district_id:references
而不是正确的 admin_district:references
。
关于ruby-on-rails - 现有 ID 上的 "NameError: uninitialized constant",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30824977/