3

このエラーが発生しましMissing required arguments: aws_access_key_id, aws_secret_access_keyた。すでに初期化フォルダーにcarrierwave.rbを追加しているので、それは奇妙に思えます。aws-sdkを使用すると、アクセス/シークレット キーが完全に機能します

CarrierWave.configure do |config|
  config.fog_credentials = {
    provider: "AWS",
    aws_access_key_id: ENV["PUB-KEY"],
    aws_secret_access_key: ENV["SEC-KEY"]
  }
  config.fog_directory = ENV["mybucket"] 
end
4

2 に答える 2

2

これが私の動作するものがどのように見えるかです:

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',
    :aws_access_key_id      => ENV['S3_KEY'],
    :aws_secret_access_key  => ENV['S3_SECRET'],
    :region                 => 'us-east-1'
  }
  config.fog_directory  = ENV['S3_BUCKET']
end

本番環境では、キーとを追加しS3_KEYましS3_SECRETS3_BUCKET。開発とテストには、.gitignoreファイルにあるイニシャライザーを使用しました。

# .gitignore
/config/initializers/app_environment_variables.rb

とイニシャライザで

# config/initializers/app_environment_variables.rb

ENV['S3_KEY'] = "********************"
ENV['S3_SECRET'] = "**************************..."
ENV['S3_BUCKET'] = "**********-dev"
于 2012-12-31T07:55:38.673 に答える
0

本番構成と開発構成は異なります。AWS キーも開発に入れる必要があります。

からAWSキーをコピーしました

config/environments/production.rb

config/environments/development.rb

そして、すべてがうまくいきました。

于 2014-03-08T10:06:03.453 に答える