Bra*_*ira 7 ruby ruby-on-rails attr-encrypted ruby-on-rails-7
我们已将应用程序升级到 Rails 7,现在我们遇到了 attr_encrypted gem 的问题。当我们尝试启动 Rails 服务器/控制台时,我们收到以下错误:
gems/ruby-3.0.2/gems/attr_encrypted-3.1.0/lib/attr_encrypted.rb:176:in `block in attr_encrypted': undefined method `[]=' for nil:NilClass (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
如果我们恢复到 Rails 6,错误就会消失,有人遇到过同样的问题吗?
所以我终于弄清楚发生了什么事。
Rails 7.0 有自己的加密,attr_encrypted gem 和rails 7 都引用该变量,encrypted_attributes并且rails 7 变量优先,使得gem 无用。attr_encrypted gem 上有一个 PR 可以解决这个问题,但是这个 gem 已经很多年没有更新了,我怀疑现在会更新。
GoRails 发布了有关如何将数据从使用 attr_encrypted 迁移到使用 Rails 7 加密的教程。我不想付费,所以我查看了本教程的 git 存储库。
他们所做的是在迁移中自行解密数据并手动更新新的加密字段。
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |