gpt4 book ai didi

ruby-on-rails - CarrierWave 不适用于 Fog 和 S3 : ArgumentError. 。 ."is not a recognized storage provider"

转载 作者:行者123 更新时间:2023-12-02 04:00:02 34 4
gpt4 key购买 nike

也许这是 CarrierWave 中的一个错误?我在这里阅读了类似的问题,尝试了示例代码并重现了一个新的应用程序,但它不起作用。

我尝试使用旧应用程序的代码(类似于 Github 上的示例),但现在它不起作用。

完整跟踪:here gem 文件

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

这是载波配置:

# 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。这应该有助于纠正这个问题。

关于ruby-on-rails - CarrierWave 不适用于 Fog 和 S3 : ArgumentError. 。 ."is not a recognized storage provider",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9723070/

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