加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – AWS S3,缺少需要的Paperclip:bucket选项

发布时间:2020-12-16 20:10:35 所属栏目:百科 来源:网络整理
导读:我试图在Heroku上使用Paperclip和SWS S3来让用户上传图像. 我没有我的凭据存储在yml文件中.我按照Heroku页面上的说明进行操作: https://devcenter.heroku.com/articles/paperclip-s3 但是,当我尝试运行我的应用程序并上传图像时,我收到以下消息: missing r
我试图在Heroku上使用Paperclip和SWS S3来让用户上传图像.

我没有我的凭据存储在yml文件中.我按照Heroku页面上的说明进行操作:
https://devcenter.heroku.com/articles/paperclip-s3

但是,当我尝试运行我的应用程序并上传图像时,我收到以下消息:

missing required :bucket option
Rails.root: /Users/scottsipiora/Sites/clycss

Application Trace | Framework Trace | Full Trace
app/controllers/instructors_controller.rb:63:in `block in update'
app/controllers/instructors_controller.rb:62:in `update'

这些说明并没有提及在我的控制器上进行更改的任何内容.我已经看到一些例子,告诉我放在这样的东西:

在我的模型中,我有以下代码:

class Instructor < ActiveRecord::Base
  attr_accessible :bio,:hometown,:name,:school,:sort_order,:started_sailing,:started_teaching,:photo
  has_attached_file :photo,styles: {
    thumb: '100x100>',square: '200x200#',medium: '300x300>'
  }
end

在我的production.rb我有(显然用模拟凭证取代我的真实凭据):

config.paperclip_defaults = {
    :storage => :s3,:s3_credentials => {
      :bucket => ENV['bucket name'],:access_key_id => ENV['key_id'],:secret_access_key => ENV['access_key']
    }
  }

我还为生产和开发创建了单独的桶,所以事情更干净.

有任何想法吗?我比较新,这应该很简单.

提前致谢.

解决方法

我想你可能犯了同样的错误.在您的production.rb文件中,不要编辑文本以添加特定的S3键.只需按照教程中列出的方式直接复制粘贴文本.
#production.rb
config.paperclip_defaults = {
  :storage => :s3,:s3_credentials => {
    :bucket => ENV['AWS_BUCKET'],:access_key_id => ENV['AWS_ACCESS_KEY_ID'],:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  }
}

然后,按照开发中心文章的作者的描述,设置环境变量AWS_BUCKET,AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读