我有一个错误:PG :: UndefinedColumn:ERROR:列students.year_course_id不存在LINE 1

时间:2014-04-28 18:53:09

标签: ruby-on-rails ruby activerecord ruby-on-rails-4

更改我的代码!我有一个错误:PG :: UndefinedColumn:ERROR:列students.year_course_id不存在第1行:SELECT COUNT()FROM“students”WHERE“students”。“year_cour ... ^:SELECT COUNT(< / em>)FROM“students”WHERE“students”。“year_course_id”= $ 1

2 个答案:

答案 0 :(得分:4)

  

PG :: UndefinedColumn:错误:列students.year_course_id没有   存在LINE 1:SELECT COUNT()FROM“students”WHERE   “学生”。“year_cour ... ^:SELECT COUNT()FROM”学生“在哪里   “学生”。“year_course_id”= $ 1

错误明确指出year_course_id表中不存在students列。 创建它以解决问题。

指定

class Student < ActiveRecord::Base
  belongs_to :year_course
end

您需要在引用year_course_id表的students表中添加year_courses字段。

<强>更新

以下是如何通过生成迁移在year_course_id表中添加students列的方法:

rails generate migration AddYearCourseRefToStudents year_course:references

此次运行后rake db:migrate

答案 1 :(得分:1)

Kirti的答案是正确的,你肯定需要在相应的引用模型中有一个id列,但是,如果你已经有了这个但仍然得到错误(就像我自己),这就是我如何解决它:

我发现我发现我正在尝试将不同的名称委托给我的模型中的列关联,这种情况因为某些原因而绊倒了。也就是说,我有:

has_many :document_doc_types, as: :doc_types

和Rails发生了类似的错误。删除'as:doc_types'部分后,一切都很顺利。所以,这可以按预期工作:

has_many :document_doc_types

希望这有帮助。