我目前正在尝试使用最新的aws-sdk
建议宝石来配置Paperclip。
在我的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.
如果我尝试将访问权限和秘密直接放入文件中,它就能完美运行。同时我尝试将两个ENV变量打印到视图中或在控制台中我可以看到它们的值正常。
我不明白它为什么不承认它。
答案 0 :(得分:9)
解决!
我在这里找到了对这个问题的回复 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'] %>