【发布时间】:2016-11-21 21:03:52
【问题描述】:
我看到很多其他人遇到与我类似的问题,但列出的解决方案都不适用,所以我希望这个很棒的社区可以帮助我。
我正在尝试使用 sitemap_generator gem,但我使用 Heroku 托管,因此我尝试按照他们的文档 here 使用 Carrierwave 将站点地图上传到 Google Cloud Storage。我已经在使用谷歌云上传我的图片,一切正常,所以我希望它会很简单,但是文件没有被上传。文档说您需要添加:
config.storage = :fog
到您的carrierwave配置文件,但是每当我添加它时,我都会收到以下错误:
gems/carrierwave-49fdad1ec6ca/lib/carrierwave/uploader/configuration.rb:75:in `eval': uninitialized constant CarrierWave::Storage::Fog (NameError)
我的 Carrierwave 配置如下所示:
CarrierWave.configure do |config|
config.cache_dir = "#{Rails.root}/tmp/"
config.storage = :fog
config.fog_credentials = {
:provider => 'Google'
}
config.fog_directory = 'bucket-name'
config.asset_host = 'https://domain.storage.googleapis.com'
end
(fog_directory 和asset_host 被替换为虚拟值)
在我的 gem 文件中,我有:
gem 'fog'
gem 'carrierwave', github: 'carrierwaveuploader/carrierwave'
我看到很多人在使用 AWS 时遇到同样的错误,但他们的解决方案是更改为使用雾 gem 而不是雾aws(我已经在这样做)并且需要雾/aws。我已经这样测试过:
gem 'fog', require: 'fog/google'
但还是有同样的问题。
谁能建议我可以做些什么来尝试解决这个问题?任何帮助将不胜感激!
非常感谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 carrierwave fog sitemap-generator-gem