Rails 4.0.5秘密.yml配置



所以我试图让我的第一个ruby on rails应用程序运行,并在第一次运行"rails s"后,当我导航到localhost时,我得到以下消息:3000:

内部服务器错误

必须设置config。

我做了一些研究,看起来我需要配置我的秘密。Yml文件,但我不确定它应该是什么样子。这就是我的秘密。Yml文件看起来像:

# Be sure to restart your server when you modify this file.
# Your secret key is used for verifying the integrity of signed cookies.
# If you change this key, all old signed cookies will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
# You can use `rake secret` to generate a secure secret key.
# Make sure the secrets in this file are kept private
# if you're sharing your code publicly.
development:
  secret_key_base: fe3ffe8d0308f92a4765f3ea02264cd24f1ddc9dd5a64aa601c61402c85e2de4d5fb74df8d66ef6d2a43dee34584dce87a51f83050d4d1d57320b5e846a6a8aa

test:
  secret_key_base: fe3ffe8d0308f92a4765f3ea02264cd24f1ddc9dd5a64aa601c61402c85e2de4d5fb74df8d66ef6d2a43dee34584dce87a51f83050d4d1d57320b5e846a6a8aa

# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

开发和测试secret_key_base来自我运行"rake secret"时生成的密钥。

我应该把生产secret_key_base(这就是我推测是错误的)?

编辑:什么是我的config/initializers/secret_token。Rb文件应该是什么样的?这是我所做的:

Demoapp:: Application.config。Secret_key_base = fe3ffe8d0308f92a4765f3ea02264cd24f1ddc9dd5a64aa601c61402c85e2de4d5fb74df8d66ef6d2a43dee34584dce87a51f83050d4d1d57320b5e846a6a8aa

解决方案:我忘记在我的config/initializers/secret_token中加上引号了。rb文件。配置/初始化/secret_token。Rb现在看起来像这样,工作正常:

Demoapp:: Application.config。Secret_key_base = 'fe3ffe8d0308f92a4765f3ea02264cd24f1ddc9dd5a64aa601c61402c85e2de4d5fb74df8d66ef6d2a43dee34584dce87a51f83050d4d1d57320b5e846a6a8aa'

您应该在承载此生产环境的服务器上添加一个环境变量SECRET_KEY_BASE,其值来自一个新的rake secret命令。在secrets.yml中,生产secret_key_base被赋值给这个环境变量SECRET_KEY_BASE

请参阅环境变量了解不同平台的主题信息。

设置环境变量满足要求,不需要修改secrets.yml文件

最新更新