我的情况是我有一个ActiveRecord::Relation
对象,其中关系的对象有一些has_many
个关联。还有另一段代码使用delete_all
删除与此关系关联的数据库行,该关系不会通过该关系。我知道关系关联的新状态即使没有进入数据库也是如此,所以我希望能够手动设置此关系中的对象属性,而无需再次触及数据库。
我发现this article提到了write_attribute
方法。这有效,但看起来它已被弃用,所以我宁愿不使用。它还提到attributes=
作为一种在不访问数据库的情况下执行此操作的方法。有没有什么能够达到write_attribute
在修改关系属性时无法访问数据库的效果?
答案 0 :(得分:2)
assign_attributes
就像update_attributes一样,没有保存。