我正在尝试将s3集成到我的项目中。 Gemfile如下。
gem 'paperclip', '~> 5.0.0'
gem 'aws-sdk-s3'
development.rb
config.paperclip_defaults = {
:storage => :s3,
:bucket => 'name_ofbucket'
}
Paperclip.options[:command_path] = "/usr/local/bin/"
config / aws.yml
development:
access_key_id: AWS_ACCESS_KEY_ID
secret_access_key: AWS_SECRET_KEY_ID
production:
access_key_id: AWS_ACCESS_KEY_ID
secret_access_key: AWS_SECRET_KEY_ID
型号
has_attached_file :logo, styles: { medium: '300x300>', thumb: '150x150>' },
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/aws.yml",
:path => ":class/:attachment/:token/:style.:extension",
:bucket => 'name_of_bucket',
default_url: '/images/missing.jpg'
现在我遇到以下错误。
无法加载此类文件-aws-sdk(您可能需要安装aws-sdk gem)
我已经安装了gems并重新启动了服务器。 我经历了类似的话题,但无法解决问题。
我不确定为什么会收到此错误。任何帮助,将不胜感激。
答案 0 :(得分:0)
您的Gemfile声明:
gem 'aws-sdk-s3'
错误消息如下:
无法加载此类文件-aws-sdk(您可能需要安装aws-sdk gem)
您是否尝试过将gem 'aws-sdk'
放入Gemfile中?
我知道您只想使用s3
而不是整个aws-sdk
,但是也许paperclip
需要加载的库比最小条数要多。
答案 1 :(得分:0)
对我来说是因为我添加了s3_region亚马逊错误 如果您使用的是S3存储,则aws-sdk> = 2.0.0要求您做一些小准备。 更改:
s3_region
:public_read
需要更改为
public-read
。