[英]Rails Paperclip S3 - missing required :bucket option
我正在尝试将Amazon S3用于Paperclip附件。 首先,我试图让它在我的iMac上的开发环境中工作。
我创建了亚马逊桶= ndeavor-dev和ndeavor-pro。 在下面的代码中,我已经替换了存储桶名称和密钥。 我有宝石的paperclip
和aws-sdk
。
我得到的错误是:
ArgumentError at /attachments
missing required :bucket option
我在config / environments / development.rb中试过这个:
config.paperclip_defaults = {
:storage => :s3,
:s3_protocol => 'http',
:bucket => ENV['AWS_BUCKET'],
:s3_credentials => {
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
我尝试了这个(移动:桶):
config.paperclip_defaults = {
:storage => :s3,
:s3_protocol => 'http',
:s3_credentials => {
:bucket => ENV['AWS_BUCKET'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
谢谢您的帮助!
像dcro说的那样,您需要正确设置AWS_BUCKET环境变量。
为此,请在config / application.yml上创建一个文件,并使用您的Amazon凭据将以下内容放入其中:
AWS_ACCESS_KEY_ID: "whatever_the_key_is"
AWS_SECRET_ACCESS_KEY: "whatever_the_secret_is"
AWS_BUCKET: "ndeavor-dev"
然后重启服务器。 然后,您就可以使用这样的模型:
has_attached_file :attachment ,
:storage => :s3 ,
:s3_credentials => {:bucket => ENV['AWS_BUCKET' ],
:access_key_id => ENV['AWS_ACCESS_KEY_ID' ],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']},
:s3_protocol => "https" ,
:s3_host_name => "s3-eu-west-1.amazonaws.com"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.