我目前正在尝试使用最新的 aws-sdk
配置 Paperclip建议 gem 。
在我的 S3.yml 文件中,我有这样的东西
development:
bucket: newmeeter-dev
access_key_id: ENV['S3_KEY']
secret_access_key: ENV['S3_SECRET']
但它无法识别 ENV 变量。我收到以下错误
AWS::S3::Errors::InvalidAccessKeyId in PhotosController#create
The AWS Access Key Id you provided does not exist in our records.
如果我尝试将 access 和 secret 直接放入文件中,它就可以完美运行。同时,我尝试将两个 ENV 变量打印到 View 或控制台中,我可以看到它们的值。
我不明白为什么它不能识别它。
最佳答案
解决了!
我在这里找到了对这个问题的答复
Ruby on Rails: Can you put Ruby code in a YAML config file?
解决方案:YAML 文件理解 ERB 格式的代码。
在内部打印 ENV 变量 <%=
和 %>
作品。
access_key_id: <%= ENV['S3_KEY'] %>
secret_access_key: <%= ENV['S3_SECRET'] %>
关于ruby-on-rails - 无法识别 rails 中 S3.yml 中的 ENV 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10366552/