使用rails方式将列数据设置为相同模型中的另一列

时间:2017-11-01 11:40:51

标签: ruby-on-rails-3

是否有任何快捷方法可以在同一模型中将一个列数据设置为另一个?

仅供参考我知道rails中的for_each方法,我可以实现它。但是,我想问的是,如果User.update_all(last_logged_at: last_sync_position)可能的地方 last_logged_at last_sync_position 是模型用户的列

另外。这不是我写的迁移文件。

我试图搜索相同但我在mysql中得到了答案,但我无法弄清楚如何转换为rails方式。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想通过last_sync_position为每个用户更新columnt last_logged_at(每个用户都有自己的值)。所以你在模型上复制数据。我不确定这是否有必要解决你的问题,但如果你在mysql中找到答案,你可以使用"范围"。

无论如何我发现了这个:

Rails 3.x How to write update all based on row value?

说这个

User.update_all("last_logged_at=last_sync_position")

应该有效