在 rails 3.0 中,我需要加密现有的文本字段。
有一个包含文本字段“note”的表格备忘录。我创建了一个 encrypted_note 字段
并在模型中添加:

attr_encrypted :note, :key => 'a secret key'

现在,当我加载现有记录时,“注释”为空。我假设 attr_encrypted 尝试解密......但该字段已被加密!

attr_encrypted 适用于新记录,但想知道加密现有记录的最佳策略是什么?

最佳答案

instance_variable_get('@note')read_attribute('note') 有效吗?

如果是这样,您可能可以在 Rails 控制台中执行以下操作:

User.all.each do |user|
  user.note = user.instance_variable_get('@note')
  user.save
end

关于ruby-on-rails-3 - rails 3.0 attr_encrypted 现有数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6327211/

10-14 13:24