【发布时间】:2014-07-18 16:45:41
【问题描述】:
我刚刚成功部署,并运行了迁移。现在我看到了这个错误。
ActiveRecord::DangerousAttributeError (update is defined by Active Record):
app/controllers/project_updates_controller.rb:4:in `new'
我曾经在我的 Project_Updates 中有一个名为“update”的属性,但迁移将其重命名为“description”,因此这不再是问题了。为了确保迁移确实重命名了该列,我尝试创建一个新的 ProjectUpdate,如下所示:
irb(main):001:0> @projectUpdate = ProjectUpdate.new
=> #<ProjectUpdate id: nil, description: nil, project_id: nil, created_at: nil, updated_at: nil, deleted_at: nil, featured_image_id: nil, title: nil>
如你所见,没有“更新”方法,但有一个“描述”方法,所以它确实重命名了。
为什么我仍然收到此危险属性错误?附言这只是在生产中,而不是在开发中。
已解决
看起来我的数据库/模式可能不正确。我从 heroku 中提取,删除了我的方案,运行 db:migrate,然后推送,这解决了问题。
【问题讨论】:
-
显示您的
project_updates_controller和project_updates表单。 -
永远不要将信息作为图片发布。你对此投了反对票,当你修复它时给我发消息,这样我就可以删除它。
-
错误在
project_updates_controller.rb第4行? -
Michal,我删除了图片。我认为这些会比文本更有帮助,但显然不是。现在我知道不要在 stackoverflow 社区上发布图片。谢谢。
标签: ruby-on-rails activerecord heroku