ruby-on-rails – CarrierWave无法使用Fog和S3:ArgumentError
发布时间:2020-12-17 02:35:34 所属栏目:百科 来源:网络整理
导读:也许这是CarrierWave中的一个错误?我在这里阅读类似的问题,尝试了示例代码并重现了一个新的应用程序,但它无法正常工作. 我尝试使用类似Github上的示例的旧应用程序,但现在它不起作用. 完整追踪:here 的Gemfile source 'https://rubygems.org'gem 'rails','
也许这是CarrierWave中的一个错误?我在这里阅读类似的问题,尝试了示例代码并重现了一个新的应用程序,但它无法正常工作.
我尝试使用类似Github上的示例的旧应用程序,但现在它不起作用. 完整追踪:here source 'https://rubygems.org' gem 'rails','3.2.2' gem 'mini_magick','~> 3.4' gem 'carrierwave','~> 0.5.8' gem 'fog' gem 'activeadmin','~> 0.4.3' gem 'httparty' gem 'dalli' gem 'json' gem "mercury-rails",:git => "https://github.com/jejacks0n/mercury.git" gem 'newrelic_rpm' group :assets do gem 'sass-rails','~> 3.2.4' gem 'coffee-rails','~> 3.2.2' gem 'uglifier','>= 1.0.3' end gem 'jquery-rails' gem 'jquery_datepicker' group :development do gem 'sqlite3' end group :production do gem 'pg' end 这是carrierwave配置: # config/carrierwave.rb # encoding: utf-8 require 'carrierwave' CarrierWave.configure do |config| config.fog_credentials = { :provider => 'AWS',# required :aws_access_key_id => 'ACCESS_KEY',# required :aws_secret_access_key => 'SECRET_KEY',# required :region => 'eu-west-1' # optional,defaults to 'us-east-1' } config.fog_directory = 'lkrails' # required config.fog_host = 'https://lkrails.s3-eu-west-1.amazonaws.com' config.fog_public = true # optional,defaults to true config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional,defaults to {} # Make the tmp dir work on Heroku # config.cache_dir = "#{Rails.root}/tmp/uploads" end 这是上传者 # uploaders/images_uploader.rb class ImagesUploader < CarrierWave::Uploader::Base include CarrierWave::MiniMagick storage :fog def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end version :tiny do process :resize_to_limit => [25,25] end version :thumb do process :resize_to_limit => [50,50] end version :medium do process :resize_to_limit => [120,120] end def extension_white_list %w(jpg jpeg gif png) end def filename if original_filename @name ||= Digest::MD5.hexdigest(File.dirname(current_path)) "#{@name}.#{file.extension}" end end 解决方法
根据您的日志文件,您的雾版本非常老.您使用的是0.3.25,最新的标签是1.1.2.试着这样做:
bundle update fog 您的版本的carrierwave也同样过时了,所以我也捆绑了更新的carrierwave.这应该有助于纠正这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |