0

我在 heroku 上托管了一个 locomotiveCMS 引擎。我刚刚将引擎升级到 2.2.3 一切正常,除了现在所有资产都无法加载。查看源代码后,我看到所有资产(如 css、js 等)都通过“https”引用到我的 s3 存储桶,因此无法正常工作。

我正在使用像“{{”main“| stylesheet_tag}}”这样的液体标签,不知道为什么它们会解析为“https”

谢谢尼克

4

1 回答 1

0

我通过将这两行添加到carrierwave.rb来修复它:

config.asset_host = 'http://.s3.amazonaws.com'

config.fog_public = true

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']
    config.asset_host     = 'http://<my-bucket-name>.s3.amazonaws.com'
    config.fog_public = true
  else
    # settings for the local filesystem
    config.storage = :file
    config.root = File.join(Rails.root, 'public')
  end

end
于 2013-08-19T14:20:40.077 回答