0
在我的Rails应用4,我secrets.yml文件包含以下内容:如何将系统上的环境变量存储到secrets.yml中以便读取?
admin_name: <%= ENV["ADMIN_NAME"] %>
admin_email: <%= ENV["ADMIN_EMAIL"] %>
admin_password: <%= ENV["ADMIN_PASSWORD"] %>
虽然我曾尝试环境变量添加到.bash_profile
:
export admin_name="Admin"
export admin_email="[email protected]"
export admin_password="admin"
我可以从他们访问外壳:
echo $admin_password
Admin
,甚至从rails console production
:
ENV['admin_name']
=> "Admin"
我认为这两次都是根用户的.bash_profile
,而不是运行Rails应用程序的nginx/passenger进程,因此我不认为这些环境变量可用于Rails进程。因此,当我尝试使用rake
它引用,着眼于secrets.yml一个文件,它无法读取环境变量:
RAILS_ENV=production bundle exec rake db:seed
seeding Role
seeding User
rake aborted!
ActiveRecord::RecordInvalid: Validation failed: Email can't be blank, Password can't be blank
我该如何处理这种情况呢?
我认为写这个问题只是一个错字。一切都是正确的。 – Donato