当我尝试运行rails server
命令时,我收到错误
如何解决?
我的 config / environments / development.rb
Rails.application.configure do
config.secret_key_base = ENV["SECRET_KEY_BASE"]
#Some stuff
end
我的文件夹中没有 secret.yml 文件。
答案 0 :(得分:30)
然后创建一个:
# be sure to restart your server when you modify this file...
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
development:
secret_key_base: asdflkjasdlfkjasldfkj
test:
secret_key_base: asdflkhasldfhlhaskdlflakhsdf
production:
secret_key_base: 523lk5h2lkjlj6nlk4n6lk4
显然不要使用上面的那些键^只是在键盘上混搭,或使用rake secret
生成一个:)
答案 1 :(得分:2)
您跳过了一个安装步骤。
对于Redmine 2和3版本,请键入:
RAILS_ENV=production bundle exec rake generate_secret_token
答案 2 :(得分:1)
我对这个问题的解决方案是创建一个新项目,然后将“ secrets.yml”从新生成的应用程序复制到旧项目中。
rails new TmpApp
cd TmpApp/config
cp secrets.yml /Path/to/old/project/config/
答案 3 :(得分:0)
我遇到了与Redmine相同的问题。有一个Rake任务来生成它。它不需要进入Yaml文件。它进入初始化文件夹中的secret_tocken.rb文件。
答案 4 :(得分:0)
以下解决方案对我有帮助:
在配置目录中创建secrets.yml文件。
在终端中,键入以下命令:rake secret。这将为您生成一个要包含在secrets.yml文件中的秘密。
将以下代码片段添加到config / secrets.yml文件中:
发展: secret_key_base:PASTE_YOUR_GENERATED_SECRET_HERE