在Linux上为secrets.yml创建环境变量

时间:2015-08-23 17:12:29

标签: ruby-on-rails environment-variables ubuntu-14.04

在我的secrets.yml文件中,我有以下代码:

[DefaultParameterValue]

在我的Ubuntu 14.04上,我运行了以下命令:

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

然而,当我启动rails应用程序时,我收到以下错误:

export SECRET_KEY_BASE=adsfadfasdfasdfasdfasasdfasdfa

我做错了什么?

2 个答案:

答案 0 :(得分:2)

您已在 secrets.yml 文件中正确设置了secret_key_base。问题在于您使用的Ubuntu命令,它仅为您已启动的bash会话创建了一个ENV变量。

要使交互式或非交互式bash会话的设置永久化,您需要输入命令:

export SECRET_KEY_BASE=adsfadfasdfasdfasdfasasdfasdfa

~/.bashrc文件中。

然后运行:

source ~/.bashrc

立即激活文件。如果您注销并再次登录,则可以使用以下命令检查您的设置是否仍然存在:

echo $SECRET_KEY_BASE

答案 1 :(得分:-1)

我刚刚通过在初始化文件夹文件夹上创建secret_token.rb来修复此问题 有了这个内容

Rails.application.config.secret_key_base = 'asdfadfadfadfadsf'