すべてのRubyGemのバージョン。私はRuby on Rails 3.1.3、Ruby 1.9.2、CarrierWave 0.5.8、およびFog 1.1.2を使用しています。霧とAmazon S3の公開URL
画像のアップロードにはCarrierWave RubyGem、Amazon S3ファイルアップロード用のFog RubyGemを使用しています。私CarrierWaveの初期化ファイルで
は私が持っている:私は2つのアップローダーファイルを持っています
class PageAttachmentUploader < CarrierWave::Uploader::Base
CarrierWave.configure do |config|
if Rails.env.development? || Rails.env.development? || Rails.env.production?
config.fog_public = true
end
end
storage :fog
end
:
CarrierWave.configure do |config|
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: 'xxx',
aws_secret_access_key: 'xxx'
}
if Rails.env.production?
config.fog_directory = 'bucket1'
elsif Rails.env.development?
config.fog_directory = 'bucket2'
else
config.fog_directory = 'bucket3'
end
config.fog_public = false
config.fog_authenticated_url_expiration = 60
end
私はアップローダーファイルを持っています。私は1つをプライベートに設定し、1つをパブリックに設定します。
PageAttachmentUploaderが呼び出されたときにCarrierWave設定を上書きしようとしていて、URLをpublicに設定しています。これはローカルマシンのチャームのように機能しますが、ステージング、サンドボックス、プロダクションでは機能しません。
私は、CarrierWaveイニシャライザでconfig.fog_public = trueを変更しました。それでも、サンドボックスでは機能しません。この問題を解決するにはどうすればよいですか?
うん、それは正しい! fog_public:私のために働いたアップローダーファイルの真。ありがとう! – user1286523
OK、この回答に投票するのを忘れないでください:)! –
私のために働いていない –