我正在尝试从db中的列解密加密字符串。
a=Model.select("column_name")
a.each do |i|
Encryptor.decrypt(Base64.decode64(i), :key=>'5b4b45ch5bch5cbh')
end
我得到的错误是:
NoMethodError: undefined method `unpack' for #<Model:0x000000057a8438>
谢谢
答案 0 :(得分:1)
应该是:
a.each do |i|
value = Encryptor.decrypt(Base64.decode64(i.column_name), :key=>'5b4b45ch5bch5cbh')
i.update_attribute(column_name, value)
end
问题是您将ActiveRecord
对象传递给Base64.decode64
方法,而您应该只传递字符串作为特定的DB列值。