gpt4 book ai didi

ruby-on-rails - Rails Paperclip S3 - 缺少必需的 :bucket option

转载 作者:行者123 更新时间:2023-12-05 01:23:35 25 4
gpt4 key购买 nike

我正在尝试将 Amazon S3 用于 Paperclip 附件。首先,我试图让它在我的 iMac 上的开发环境中工作。

我已经创建了 Amazon 存储桶 = ndeavor-dev 和 ndeavor-pro。在下面的代码中,我替换了存储桶名称和键。我有 gem 的 paperclipaws-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']
}
}

我试过这个(移动 :bucket):
  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"

关于ruby-on-rails - Rails Paperclip S3 - 缺少必需的 :bucket option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18699300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com