运行规格时收到此警告。是否有生成secret_key_base的最佳实践,或者任何字符串都足够(考虑到安全问题)?
ds97pgxw1#
您可能从3.x或以前的版本升级到了Rails 4。首先生成一个随机密钥值:
$ bundle exec rake secret
然后将该值放入config/initializers/secret_token.rb中:
config/initializers/secret_token.rb
YourApp::Application.config.secret_key_base = 'your-secret'
将YourApp替换为应用程序的名称。其原因在这里解释。另见http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml
YourApp
p5cysglq2#
从4.1开始,您需要使用config/secrets.yml文件。这在www.example.com中讨论http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml。
config/secrets.yml
0mkxixxg3#
您只需要在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的教程)
wqlqzqxt4#
如果你和我一样是个菜鸟,记得把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:in `load ':C:/Users/Jeff C/documents/rails_proje cts/first_app/config/initializers/secret_token.rb:1:语法错误,意外的tI DENTIFIER,需要$end(SyntaxError)
nhjlsmyf5#
在使用升级到Rails 5的Rails 4应用程序时遇到了同样的问题。我所要做的就是运行下面的命令来生成一个secret key:
secret key
bundle exec rake secret
然后我将密钥添加到config/secret.yml文件中:
config/secret.yml
development: secret_key_base: 21bc6137d0496a2a11f4459a7c7deb4f782d223d41ee328934b2fe7a405a42ec63eb3829db67f0ec6a759e134ba0bb15dc2d01168b64d83efcf8d42b403ac8bd
5条答案
按热度按时间ds97pgxw1#
您可能从3.x或以前的版本升级到了Rails 4。
首先生成一个随机密钥值:
然后将该值放入
config/initializers/secret_token.rb
中:将
YourApp
替换为应用程序的名称。其原因在这里解释。
另见http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml
p5cysglq2#
从4.1开始,您需要使用
config/secrets.yml
文件。这在www.example.com中讨论http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml。0mkxixxg3#
您只需要在config/initializers目录中创建一个secret_token.rb文件。
文件内容如下:
然后保存文件
现在,您将看到上一章中看到的基本Rails应用程序页面(如果您正在学习Hartl的教程)
wqlqzqxt4#
如果你和我一样是个菜鸟,记得把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:in `load ':C:/Users/Jeff C/documents/rails_proje cts/first_app/config/initializers/secret_token.rb:1:语法错误,意外的tI DENTIFIER,需要$end(SyntaxError)
nhjlsmyf5#
在使用升级到Rails 5的Rails 4应用程序时遇到了同样的问题。
我所要做的就是运行下面的命令来生成一个
secret key
:然后我将密钥添加到
config/secret.yml
文件中: