【问题标题】:Paperclip NameError (uninitialized constant AWS::S3::Errors) in Rails 4 on herokuHeroku 上 Rails 4 中的 Paperclip NameError(未初始化的常量 AWS::S3::Errors)
【发布时间】:2015-09-10 11:59:48
【问题描述】:

当我使用回形针和 s3 存储上传图像时。该应用程序在本地运行良好,我已对 heroku 使用 s3 进行了必要的更改,但在 heroku 上问题仍然存在:

宝石文件

ruby '2.0.0'
gem 'rails', '4.0.3'
gem 'aws-s3'
gem 'aws-sdk', '< 2.0'
gem 'paperclip', "~> 3.5.3"

store.rb

class Store < ActiveRecord::Base
  has_attached_file :logo,
  styles: {
  thumb: ["40x40#", :png],
  small: ["400x400>", :png]},
  default_url: "#{Rails.root}/app/assets/images/missing.jpg",
  storage: :s3,
  s3_credentials: "#{Rails.root}/config/s3.yml",
  path: "/store_logos/:style/:id/:filename"
end

config/s3.yml

development:
  bucket: app-dev
  access_key_id: ***********
  secret_access_key: ***************
production:
  bucket: app-pro
  access_key_id: ***********
  secret_access_key: ***************

我试过这个link 但没有运气。

任何帮助表示赞赏

【问题讨论】:

  • 你在设置存储桶吗?我看不到它的设置位置
  • @Kiloreux in config/s3.yml 我添加了存储桶凭据
  • 如果您使用的是 AWS 开发工具包,为什么要加载 AWS S3 gem?不确定这是否重要,但我只会加载您正在使用的内容。当然,请确保您重新启动 Rails。否则,您能否在帖子中包含完整的堆栈跟踪?
  • 能否为错误添加完整的堆栈跟踪
  • 将此主题与相关主题链接:stackoverflow.com/questions/28374401/…

标签: ruby-on-rails ruby amazon-web-services heroku amazon-s3


【解决方案1】:

最后,我找到了问题的解决方案。更新了Gemfilemodels/store.rb

参考文档here

宝石文件

ruby '2.0.0'
gem 'rails', '4.0.3'
gem 'aws-s3'
gem 'aws-sdk-v1'
gem 'aws-sdk', '~> 2'

models/store.rb

class Store < ActiveRecord::Base
  require 'aws-sdk-v1'
  require 'aws-sdk'
  has_attached_file :logo,
  styles: {
    thumb: ["40x40#", :png],
    small: ["400x400>", :png]},
    default_url: "#{Rails.root}/app/assets/images/missing.jpg",
    storage: :s3,
    s3_credentials: "#{Rails.root}/config/s3.yml",
    path: "/store_logos/:style/:id/:filename"
end

【讨论】:

  • 这是放置require aws-sdd-v1 代码的最佳位置吗?
猜你喜欢
  • 2016-09-08
  • 2018-03-08
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 1970-01-01
  • 2017-03-02
  • 1970-01-01
  • 2012-05-02
相关资源
最近更新 更多