0

想知道是否有人可以帮助我设置带有数字海洋的机车。我在托管点,说明要求我修改carrierwave.rb 文件中的生产块。目前它是为 AWS 设置的。我需要做什么才能让 digitalocean 正常工作。

CarrierWave.configure do |config|

  config.cache_dir = File.join(Rails.root, 'tmp', 'uploads')

  case Rails.env.to_sym

  when :development
    config.storage = :file
    config.root = File.join(Rails.root, 'public')

  when :production
    # the following configuration works for Amazon S3
    config.storage          = :fog
    config.fog_credentials  = {
      provider:                 'AWS',
      aws_access_key_id:        ENV['S3_KEY_ID'],
      aws_secret_access_key:    ENV['S3_SECRET_KEY'],
      region:                   ENV['S3_BUCKET_REGION']
    }
    config.fog_directory    = ENV['S3_BUCKET']

  else
    # settings for the local filesystem
    config.storage = :file
    config.root = File.join(Rails.root, 'public')
  end

end
4

1 回答 1

1

这取决于您要存储文件的位置;如果您想将上传的文件放在您的 droplet 上,您可以从 :development 复制配置部分,我们的 LocomotiveCMS 解决方案可以做到这一点并且效果很好,但是如果您希望多个 Web 服务器具有访问权限,它就不能很好地扩展上传文件。

如果您将 MongoDB 与 Carrierwave for Mongoid 一起使用,那么您可以使用 GridFS 将文件存储在数据库中,但是我自己对此没有任何经验。您可以在Carrierwave Mongoid 的 GitHub 页面上阅读更多相关信息。

于 2013-09-20T05:03:16.507 回答