Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails CarrierWave/Fog/S3-“;不是公认的存储提供商”;_Ruby On Rails_Heroku_Amazon S3_Carrierwave_Fog - Fatal编程技术网

Ruby on rails CarrierWave/Fog/S3-“;不是公认的存储提供商”;

Ruby on rails CarrierWave/Fog/S3-“;不是公认的存储提供商”;,ruby-on-rails,heroku,amazon-s3,carrierwave,fog,Ruby On Rails,Heroku,Amazon S3,Carrierwave,Fog,在生产中使用Heroku,我可以很好地上传图像,在视图中显示图像-不过,现在我尝试将文件名作为URL的一部分打印,它返回的错误是不是公认的存储提供商上的'LOGO'=>”https://wifiuploads.s3.amazonaws.com/uploads/user/logourl/#{user.id}/#{user.logourl.file.filename},-我的假设是它发生在user.logourl.file.filename上,因为这是我的用户模型上的图像上载列-我所要做的就是将文件

在生产中使用Heroku,我可以很好地上传图像,在视图中显示图像-不过,现在我尝试将文件名作为URL的一部分打印,它返回的错误是
不是公认的存储提供商
上的
'LOGO'=>”https://wifiuploads.s3.amazonaws.com/uploads/user/logourl/#{user.id}/#{user.logourl.file.filename},
-我的假设是它发生在
user.logourl.file.filename
上,因为这是我的用户模型上的图像上载列-我所要做的就是将文件名打印到URL中

我的s3.rb配置:

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'aws',
    :aws_access_key_id      => ENV['S3_KEY'],
    :aws_secret_access_key  => ENV['S3_SECRET'],
    :region => ENV['S3_REGION']
  }
  config.fog_directory = ENV['S3_BUCKET']
end
我的上传者/image\u uploader.rb

# encoding: utf-8

class ImageUploader < CarrierWave::Uploader::Base

  # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  # storage :file

  storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

有什么想法吗?让我知道我是否应该提供任何其他信息。

我不确定这是否重要,但您在
fog\u凭据中的
提供者
条目是小写的–文档表明它应该是大写的。@SamSymons我正在尝试使用
提供者的大写条目:
,仍然得到t他犯了同样的错误。@JohnLong如果你解决了这个问题,你能给出答案吗?
gem "carrierwave" #image receiving
gem "mini_magick" #image processing
gem "fog" #s3 integration