Ruby on rails activerecord关联阻止记录保存

Ruby on rails activerecord关联阻止记录保存,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有两个模型之间的直接关系:资产和更新 这里的两种模型(减去不相关的方法): 我遇到了一个问题,资产记录将不再更新。例如,一个简单的测试: a = Asset.first ; puts a.description; a.description = "new" ; a.save ; puts a.errors ; puts Asset.first.description 将产生: "old" {} "old" a、 save返回true,a.errors为空;但更改不会被保存 我

我有两个模型之间的直接关系:资产和更新

这里的两种模型(减去不相关的方法):

我遇到了一个问题,资产记录将不再更新。例如,一个简单的测试:

a = Asset.first ; puts a.description; a.description = "new" ; a.save ; puts a.errors ; puts Asset.first.description 
将产生:

"old"   {}    "old"
a、 save返回true,a.errors为空;但更改不会被保存

我检查了资产模型中的每一项,试图找出导致它的原因,发现如果我删除了“属于:更新”关系,那么一切都正常

但与另一个表的关系(不涉及验证)如何阻止记录保存仍是一个谜。(另外,如果是验证问题,则@asset.errors在保存尝试时不会为空。)

为了让事情变得更奇怪,我决定将我的更新模型重命名为报告模型。有了这些,它就成功了。因此,更新可能是模型的保留名称(似乎不太可能)。但是我不想重新命名这个模型,除非我必须这样做(已经有太多的地方了),所以我想这里肯定有其他的东西是错误的或者我遗漏了


感谢您的帮助。谢谢。

调用关联“更新”是个问题。要加载资产的关联更新,您必须执行以下操作:

@asset.update
但update是一个实例方法,已由ActiveRecord定义:


谢谢你,杰瑞德。我查看了保留字列表,但没有想到AR实例方法。我想我还是得重新命名我的模型。