5

我目前正在尝试使用最新aws-sdk建议的 gem 配置 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 变量打印到视图或控制台中,我可以看到它们的值没问题。

我不明白为什么它不承认它。

4

1 回答 1

9

解决了!

我在这里找到了对这个问题的答复 Ruby on Rails:你能把 Ruby 代码放在 YAML 配置文件中吗?

解决方案:YAML 文件理解 ERB 格式的代码。

在内部打印 ENV 变量<%=%>有效。

access_key_id: <%= ENV['S3_KEY'] %>
secret_access_key: <%= ENV['S3_SECRET'] %>
于 2012-04-28T19:03:20.307 回答