我对 Rails 非常陌生,完全被难住了。我真的也需要这个工作,因为它是另一个更大的主要是 Javascript 项目的一部分,而 Rails 部分刚刚被我抛弃了。我必须在 page_events 表中添加列(添加的列是 student_id、student_name 和survey_name),所以我进行了迁移,rake db:migrate,一切都很顺利。这是我的 schema.db 的相关部分
create_table "page_events", :force => true do |t|
t.string "page"
t.integer "num_focus", :default => 0
t.integer "num_distracted", :default => 0
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "time_focused", :default => 0
t.integer "time_distracted", :default => 0
t.integer "total_time", :default => 0
t.string "session_id"
t.string "student_id"
t.string "student_name"
t.string "survey_name"
end
但是,当我尝试将数据发布到 page_events 页面时,服务器响应 500 internal server error
ActiveRecord::UnknowAttributeError (unknown attribute: student_id):app/controllers/page_events_controller.rb:51 in 'new'
我尝试发布数据,除了没有 student_name、student_id 或survey_name,它工作正常。没有 500 错误,我发送的数据按预期显示在 page_events 索引上。我检查了一遍,找不到任何结论性的东西,我很紧张要打破它,因为正如我所说,我对 Rails 很陌生。我看到一些建议是重新生成模型等,但我不知道这是否会有所帮助。我可以在代码中找到具有显式表名和列的唯一位置是在 schema.db 中,如上所述,似乎是正确的。请帮忙...
我正在部署到 Heroku 应用程序,我不知道这是否会有所不同...