所有RubyGems的版本。我正在使用Ruby on Rails 3.1.3,Ruby 1.9.2,CarrierWave 0.5.8和Fog 1.1.2。Fog和Amazon S3的公开URL
我正在使用CarrierWave RubyGem进行图片上传,并使用红宝石文件上传的Amazon S3文件上传。
在我CarrierWave初始化文件,我有:
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
我有一个上传文件:
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配置当PageAttachmentUploader被调用并将URL设置为公共。这在本地机器中很有魅力,但不适用于舞台,沙盒和制作。
我更改了CarrierWave intializer中的config.fog_public = true。即使这在沙箱中也不起作用。我该如何解决这个问题?
是的,多数民众赞成在正确的! fog_public:在上传文件中为我工作。谢谢! – user1286523 2012-03-23 14:30:21
好吧,然后不要忘记投票这个答案:)! – 2012-03-23 17:25:28
没有为我工作 – 2016-09-19 17:38:29