弃用警告:您没有设置config.secret_key_base

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弃用警告:您没有设置config.secret_key_base相关的知识,希望对你有一定的参考价值。

运行我的规格时收到此警告。是否有生成secret_key_base的最佳实践,或者任何字符串是否足够(关于安全性问题)?

答案

您可能从3.x或以前的版本升级到Rails 4。

首先生成随机密钥值:

$ bundle exec rake secret

然后取出该值并将其放入config/initializers/secret_token.rb

YourApp::Application.config.secret_key_base = 'your-secret'

用您的应用程序名称替换YourApp

here解释了这个原因。

另见http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml

另一答案

从4.1开始,您需要使用config/secrets.yml文件。这在http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml中讨论过。

另一答案

您只需在config / initializers目录中创建一个secret_token.rb文件。

以下文件的内容:

YourAppNameHere::Application.config.secret_key_base = #type the key you generated with rake secret here

然后保存文件

close your server: 
ctrl c

restart it: rails s

您现在将看到您在上一章中看到的基本rails应用页面(如果您正在使用Hartl的教程)

另一答案

如果你是像我这样的总诺布,请记得将secret_key_base ='whatever'放在单引号内。只是没有引号的复制和粘贴会引发错误:

C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-4.0.8/lib/act ive_support / dependencies.rb:223:在`load'中:C:/ Users / Jeff C / documents / rails_proje cts / first_app / config / initializers / secret_token.rb:1:语法错误,意外tI DENTIFIER,期待$ end(SyntaxError)

以上是关于弃用警告:您没有设置config.secret_key_base的主要内容,如果未能解决你的问题,请参考以下文章

警告 onRowClick 已弃用

我可以防止嵌套的弃用方法调用引发警告吗?

尝试通过 Makefile 运行 phpunit 测试而没有弃用警告时出现“错误的变量名”

关闭 PHP.ini 文件 WAMP 中的弃用警告

抑制 Java 中不推荐使用的导入警告

winsock 已弃用,没有警告