在不触及Rails中的数据库的情况下更新属性

时间:2018-01-22 23:16:07

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

我的情况是我有一个ActiveRecord::Relation对象,其中关系的对象有一些has_many个关联。还有另一段代码使用delete_all删除与此关系关联的数据库行,该关系不会通过该关系。我知道关系关联的新状态即使没有进入数据库也是如此,所以我希望能够手动设置此关系中的对象属性,而无需再次触及数据库。

我发现this article提到了write_attribute方法。这有效,但看起来它已被弃用,所以我宁愿不使用。它还提到attributes=作为一种在不访问数据库的情况下执行此操作的方法。有没有什么能够达到write_attribute在修改关系属性时无法访问数据库的效果?

1 个答案:

答案 0 :(得分:2)

assign_attributes

就像update_attributes一样,没有保存。