【发布时间】:2012-02-01 18:18:02
【问题描述】:
我对 Heroku 和 Carrierwave Gem 有点迷茫。我已经阅读了 WIKI,阅读我并搜索了网络,我承认,我需要帮助。在本地一切都很好,但 Heroku 粉碎了应用程序。
///HEROKU 日志中的错误消息
2012-01-03T17:33:26+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/configuration.rb:91:in `eval': uninitialized constant CarrierWave::Storage::Fog (NameError
///宝石文件
gem "fog"
gem 'carrierwave'
/app/uploaders/avatar_uploader.rb
storage :fog
/config/initializers/carrierwave.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'XXXX',
:aws_secret_access_key => 'XXXX',
:region => 'eu-west-1' # optional, defaults to 'us-east-1'
}
config.fog_directory = 'site_images' # required
config.fog_public = true # optional, defaults to true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {}
end
当我将存储更改为文件而不是雾时,我不会出错。是否还有其他我跳过或丢失的雾设置。非常感谢任何帮助。我需要使用雾设置创建单独的文档吗?
【问题讨论】:
-
你没有错过任何东西——只是为了检查一下,你已经捆绑并提交了锁定文件并将其推送到 heroku?我在 Heroku with Fog 上运行与您相同版本的 Carrierwave,这很好,所以恐怕这是针对您的情况的特定内容。你碰巧在 lib/carrierwave 中没有任何雾凭证吗?
-
感谢 John,Habe 已捆绑并提交。 Carrierwave 谈到在 lib 目录中添加文件。我只有 /config/initializers/carrierwave.rb 我应该有 lib 目录下的文件吗?
-
不,您在 config/initializers 中完全正确 - lib/carrierwave 已知会导致您遇到的错误。
标签: ruby-on-rails-3.1 heroku amazon-s3 carrierwave fog