拒绝警告:您没有设置config.secret_key_base
运行我的规格时收到此警告。 生成secret_key_base是否有最佳做法,或者是否有足够的string(关于安全性问题)?
你可以从3.x或以前的版本升级到Rails 4。
首先生成一个随机的密钥值:
$ rake secret
然后把这个值放到config/initializers/secret_token.rb
:
YourApp::Application.config.secret_key_base = 'your-secret'
用您的应用程序的名称replaceYourApp
。
这里解释的原因。
另见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目录下创build一个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
您现在将会看到上一章中您看到的基本导轨应用程序页面(如果您正在通过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)