1

ペーパークリップを使用してデータを s3 にアップロードしようとしています。次のエラーが発生し続けます

欠落必須:bucket オプション

app/controllers/documents_controller.rb:64:block in update' app/controllers/documents_controller.rb:63:in更新中'

config/environments/development.rb を適切な s3 クレデンシャルで更新しました。アプリをローカルで実行するとこのエラーが発生します。Heroku ではまだ試していません。他に何が欠けていますか?

ドキュメント.rb

class Document < ActiveRecord::Base
  attr_accessible :documentId, :name, :docstack

  has_attached_file :docstack, styles: {
    thumb: '200x200',
    medium: '33x300>'
  }
end

開発.rb

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['bucket'],
    :access_key_id => ENV['123'],
    :secret_access_key => ENV['key']
  }
}

更新:このブログ を参照していただきありがとうございます

4

2 に答える 2

0

ENV変数値を定義しましたか?

このファイルを追加してみてください。

# /config/initializers/env.rb

ENV['s3_bucket'] = 'XXX'
ENV['s3_access_key_id'] = 'XXX'
ENV['s3_secret_access_key'] = 'XXX'

development.rbファイルへのこのコード、

# /config/environments/development.rb

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['s3_bucket'],
    :access_key_id => ENV['s3_access_key_id'],
    :secret_access_key => ENV['s3_secret_access_key']
  }
}

次に、資格情報がGITに保存されないようにファイルに追加env.rbします。.gitignore

# /.gitignore

/config/initializers/env.rb
于 2013-03-24T19:15:43.180 に答える
0

以前に同様の問題に遭遇したことがあり、同じエラー メッセージが表示されました。ENV 変数が適切に設定されているか ("$ ENV['AWS_BUCKET']")、Rails コンソールで確認してください。環境変数を適切にエクスポートしているにもかかわらず、私の 1 つは nil を返していました。ターミナルを再起動した後、期待どおりに動作しました..

于 2013-05-24T08:06:17.233 に答える