在我的应用中运行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种子(AdmissionEpisode.create
行上出现NameError:
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
表也正确填充。
答案 0 :(得分:5)
我踢自己。
问题是模型实际上有belongs_to :admin_district_id
,一旦更改为belongs_to :admin_district
,问题就解决了。
我认为在生成模型时会出现问题 - 我必须使用admin_district_id:references
而不是正确的admin_district:references
。
答案 1 :(得分:1)
或者你可以试试这个:
admissions.each do |code, total, male, female|
district = AdminDistrict.find_by_code(code)
district.admission_episodes.create({
total: total,
male: male,
female: female
})
end