Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
升级Ruby 2.4后出现ArgumentError_Ruby_Ruby On Rails 3_Debugging_Argument Error - Fatal编程技术网

升级Ruby 2.4后出现ArgumentError

升级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 我在整个互联网上都读到了关于它的信息,人们纷纷发布关于更改加密密钥的信息。但我甚至没有这样

我升级到Ruby 2.4并开始出现以下错误:

自白控制器索引中的ArgumentError

密钥必须是32字节

  # 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解决了这个问题。