有人知道如何使用新的production.rb
在secrets.yml
中设置ENV变量吗?
我得到key: wrong number of arguments (0 for 1)
以下内容:
production.rb:
# DOES NOT WORK
ENV["SOME_STUFF_KEY"] = Rails.application.secrets.some_stuff.key
ENV["SOME_STUFF_SECRET_KEY"] = Rails.application.secrets.some_stuff.secret_key
# NOTE THAT THIS WORKS:
# ENV["SOME_STUFF_KEY"] = "abcdefg";
# ENV["SOME_STUFF_SECRET_KEY"] = "123456789123456789";
secrets.yml:
production:
some_stuff:
key: abcdefg
secret_key: 123456789123456789
答案 0 :(得分:4)
我没有像使用some_stuff
那样找到有关嵌套的任何信息。 release notes和所有其他博客帖子只使用平键作为示例:
development:
secret_key_base: 3b7cd727ee24e8444053437c36cc66c3
some_api_key: SOMEKEY
Rails.application.secrets.some_api_key
在开发环境中返回SOMEKEY。
这就是为什么有人创建了dot_secrets gem(“在嵌套的Rails.application.secrets上启用点语法”)
答案 1 :(得分:1)
要获取与您类似的嵌套值,您需要使用此语法。
Rails.application.secrets.some_stuff[:secret_key]