ruby-on-rails - 即使没有更改,如何保存 Rails 记录的所有字段
问题描述
当记录保存/加载到数据库/从数据库加载时,我使用 Rails 属性 API 来加密和解密某些字段。现在我需要更改加密完成的方式,并且需要重新保存所有记录,以便数据库中的加密值得到更新。
但是在 Rails 4 中删除 partial_updates 配置后,这似乎真的很难。有没有办法让 Rails 保存字段,即使它们没有改变?
还是我需要编写一个直接更新 SQL 的方法?
解决方案
您需要将它们标记为脏。例如 Post 模型有一个title
属性:
post = Post.find(12)
post.title_will_change!
post.save
有关脏属性的更多信息,请参见此处。
推荐阅读
- php - 在 GET 请求中使用参数
- c# - C#调用另一个类的函数
- gtk3 - 如何在 Yocto 项目中获得基于 GTK 的 GUI?
- angular - 变量值变化时如何更新html中的数据
- c# - Unity 错误:.ctor():方法主体为空
- php - 需要公式来获得一年的最低和最高值
- sql-server - 在 SSMS 中,将 AT TIME ZONE 应用于查询中的所有 DateTimeOffset 列?
- haskell - 当它已经在 cabal 文件中时,如何诊断“也许您需要将 xxx 添加到 .cabal 文件中的构建依赖项”?
- python - 如何使用 QMainWindow 中的 GraphicsView 的 mouseDoubleClickEvent 调用和运行具有给定数量输入的函数?
- java - 如何随机展示插页式广告