2017-02-17 18 views
1

我感兴趣的是如果可以使用对象属性作为update_all方法中的值。使用对象属性的Update_all

假设我们有关系Article,它具有属性part1part2。现在我想更新属性part1Article相关的所有对象,其值为part2

Article.update_all(part1: current_object.part2) 

哪里current_object我只是用于当前更新的对象的表示。

我知道我可以做这样的事情

Article.find_each { |article| article.update(part1: article.part2) } 

,但我想知道,如果这是可以实现与update_all方法。

+0

确定它似乎有可能,为什么不试试呢? –

回答

2

下面的代码将做到这一点。但你为什么这样做? - ))

Article.update_all("part1 = part2") 
+0

非常感谢。我只需要在迁移时使用这一点,我需要将属性I remove中的值重新分配给新添加的值以防止数据丢失。 – Vekka