2

ユーザーがプロフィール写真をアップロードできるアプリを作成しようとしています。ペーパークリップとS3を使おうとしています。

ローカルマシンで動作していますが、何らかの理由でHerokuでは動作しません。具体的には、S3には何もアップロードされていませんが、PaperclipまたはS3からのHerokuログでエラーが生成されることもありません。これが私がログに見ているものです:

2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] Saving attachments.
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/original.jpg
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/thumb.jpg
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/medium.jpg
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/large.jpg

s3.ymlファイルは次のようになります。

development:  
  access_key_id: XXXXXXX
  secret_access_key: XXXXXXX
  bucket: dev-bucket

test:
  access_key_id: XXXXXXX
  secret_access_key: XXXXXXX
  bucket: test-bucket

production:
  access_key_id: XXXXXXX
  secret_access_key: XXXXXXX
  bucket: prod-bucket

なぜこれが私の開発マシンでは機能するのにHerokuでは機能しないのか誰かが知っていますか?エラーがないことに困惑しています...

4

1 に答える 1

0

Heroku Toolbelt を使用して環境変数を設定しましたか?

$ heroku config:set AWS_BUCKET=**BUCKET NAME**
$ heroku config:set AWS_ACCESS_KEY_ID=***GET FROM AMAZON AWS***
$ heroku config:set AWS_SECRET_ACCESS_KEY=***GET FROM AMAZON AWS***

これが機能するには、次のように設定する必要があります。

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['AWS_BUCKET'],
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  }
}
于 2013-11-02T21:37:35.470 に答える