升级Ruby 2.4后出现ArgumentError
我升级到Ruby 2.4并开始出现以下错误: 自白控制器索引中的ArgumentError 密钥必须是32字节升级Ruby 2.4后出现ArgumentError,ruby,ruby-on-rails-3,debugging,argument-error,Ruby,Ruby On Rails 3,Debugging,Argument Error,我升级到Ruby 2.4并开始出现以下错误: 自白控制器索引中的ArgumentError 密钥必须是32字节 # cipher = new_cipher cipher.encrypt cipher.key = @secret # Rely on OpenSSL for the initialization vector iv = cipher.random_iv 我在整个互联网上都读到了关于它的信息,人们纷纷发布关于更改加密密钥的信息。但我甚至没有这样
# cipher = new_cipher
cipher.encrypt
cipher.key = @secret
# Rely on OpenSSL for the initialization vector
iv = cipher.random_iv
我在整个互联网上都读到了关于它的信息,人们纷纷发布关于更改加密密钥的信息。但我甚至没有这样的文件,所以我不知道要更改什么以及如何修复它。
有人能帮忙吗
*作为对评论的回应:我不知道@secret是什么。这是一个提取文件,我不知道如何在本地或根本不知道如何编辑密码。这不是我写的代码 什么是
@secret
?它是如何生成的?它与使用(例如)相比如何?你能成功地生成一个32字节的密钥吗?另外,请不要发布错误的图片。只需复制并粘贴文本即可@阿纳斯帕切蒂不认为这是针对个人的。把它当作建设性的反馈。因此,这是一个惊人的资源,但只有当你正确地使用它。Tin Man的评论会让你在这个网站上走得更远——例如,“文章尽量简短”不是正确的方法;包括“如何提问”中的所有相关信息是正确的方法。我不知道@secret是什么——我也不知道,但它是在某处定义的。在代码的某个地方,有一行写着@secret=…
。这就是我要问的。@Anotherh是的,所以秘密=。。。不是我写的任何代码的一部分。没有一个错误是我写的,这是主要的问题,因为我没有任何文件要编辑。这里有一个线程(),人们在这里解决了这个问题,但我一直不明白他们在编辑什么文件(因为我没有这些文件),因此我在这里问了一个问题。最终,我通过将rails 5.0.0升级到5.0.1解决了这个问题。