ActiveRecord :: DangerousAttributeError:更新由Active Record定义

时间:2014-05-13 01:02:04

标签: ruby variables ruby-on-rails-4 model console

我对编程很陌生,所以需要一些帮助来解释错误。

我正在尝试在ProjectUpdate Model的控制台中创建一个局部变量。我也有一个项目模型,我认为这就是它引发错误的原因。它担心在项目上调用方法更新,所以在我看来,我必须将ProjectUpdate模型重命名为与项目上的更新方法不冲突的东西,这是正确的解释或者还有什么可能是发生了什么?

这是我的控制台:

irb(main):003:0> projectupdate1 = ProjectUpdate.new
ActiveRecord::DangerousAttributeError: update is defined by Active Record

1 个答案:

答案 0 :(得分:4)

update列将成为问题。

Rails为每个属性生成访问器方法。如果一个属性与activerecord提供的方法同名(例如update,则访问者将隐藏原始方法。过去,当activerecord尝试调用其方法但称为访问者时,这将导致神秘问题相反,这些天它会自动检测到这一点。

您通常会创建一个迁移来重命名违规列。