在Rails 5中,我曾经.env
在应用程序的根目录中创建了一个名为的文件,并向其中添加了以下内容:
MY_VARIABLE=1234
并使用以下命令访问应用程序内的变量 ENV["MY_VARIABLE"]
但是在Rails 6应用程序中,我做同样的事情,并且返回nil
。运行时,ENV
我看到了很多环境变量,但是都没有.env
。
我不确定为什么会这样?
运行spring stop
并重新启动Rails应用程序。但是,如果那行不通,我想告诉你Rails 6现在支持多种凭证。你可以使用以下格式:
在Rails终端上,运行EDITOR=vim rails credentials:edit
。如果你没有,它将为你创建credentials.yml.enc
并master.key
归档在内部/config
。
然后,你可以将凭据放入这样的YAML文件中
development:
aws:
access_key_id: 123
secret_access_key: 345
production:
aws:
access_key_id: 1f3649fe-ebbd-11e9-81b4-2a2ae2dbcce4
secret_access_key: 203060d3a5456fa6cd2da3c958001440
你可以通过这种方式获取凭据
> Rails.application.credentials[Rails.env.to_sym][:aws][:access_key_id]
#=> "123"
然后,你可以继续bundle install
运行rails server
你可以从此链接阅读有关如何获取凭据的信息。