ruby-on-rails - 现有 ID 上的 "NameError: uninitialized constant"

标签 ruby-on-rails ruby activerecord

在我的应用程序中运行 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
上面提到的

districtsadmissions 都是数据列表,据我所知,所有这些都是正确格式化的。 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/

相关文章:

ruby-on-rails - 如何从 resque 作业中访问 ENV 变量

ruby - ruby-doc 和 apidock 有什么区别?

ruby-on-rails - ActiveRecord 条件覆盖和 default_scope

ruby-on-rails - 有什么方法可以使用公共(public) URL 在 Rspec 中测试文件上传吗?

ruby-on-rails - 如何将应用程序从 Ruby 2.0.0 降级到 1.9.3

ruby - 是否可以列出当前池中的所有数据库连接?

ruby-on-rails - 计算月份统计

ruby-on-rails - Ruby on Rails 管理操作

html - Rails - 从 api JSON 响应中删除 HTML

ruby-on-rails - Rails 语义, Controller 中的 Model.find()(是或否?)