未定义的方法`fog_host =”(undefined method `fog_host='

2019-08-01 19:46发布

当我试图运行我的应用程序,我发现了以下错误:

配置/初始化/ carrierwave.rb:4:未定义的方法`fog_host =”为CarrierWave ::上传::基地:类(NoMethodError)

这里是我的初始化/ carrierwave.rb文件:

CarrierWave.configure do |config|
  config.storage = :fog
  config.fog_directory = 'media.domain.pl'
  config.fog_host = 'http://s3-eu-west-1.amazonaws.com/media.domain.pl'

  config.fog_credentials = {
    :provider => 'AWS',
    :aws_access_key_id => '***',
    :aws_secret_access_key => '***',
    :region => 'eu-west-1',
  }
end

我有carrierwavefog包括在我Gemfile ,它会一直干到最后使用的bundle update 。 你有什么想法什么都可以错我的代码? 我无法找到关于它的任何谷歌

红宝石诉1.8.7
轨诉3.2.6
雾诉1.6.0
carrierwave诉0.7.0

Answer 1:

fog_host并不似乎是一个配置选项。 从载波长文档看起来你可能需要asset_host代替:

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',       # required
    :aws_access_key_id      => 'xxx',       # required
    :aws_secret_access_key  => 'yyy',       # required
    :region                 => 'eu-west-1'  # optional, defaults to 'us-east-1'
  }
  config.fog_directory  = 'name_of_directory'                     # required
  config.fog_public     = false                                   # optional, defaults to true
  config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}  # optional, defaults to {}
  config.asset_host     = 'https://assets.example.com'            # optional, defaults to nil
end

更新:

这里的承诺是引入了变化: https://github.com/jnicklas/carrierwave/commit/7046c93d6b23cffef9f171a5f7f0dd14267a7057



文章来源: undefined method `fog_host='