是否有任何快捷方法可以在同一模型中将一个列数据设置为另一个?
仅供参考我知道rails中的for_each
方法,我可以实现它。但是,我想问的是,如果User.update_all(last_logged_at: last_sync_position)
可能的地方 last_logged_at 和 last_sync_position 是模型用户的列
另外。这不是我写的迁移文件。
我试图搜索相同但我在mysql中得到了答案,但我无法弄清楚如何转换为rails方式。
答案 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")
应该有效