0

私はherokuで機関車CMSエンジンをホストしています。エンジンを 2.2.3 にアップグレードしたところ、すべて正常に機能しましたが、すべてのアセットの読み込みに失敗しました。ソース コードを確認したところ、すべてのアセット (css、js など) が「https」経由で s3 バケットに参照されているため、機能していないことがわかりました。

「{{ "main" | stylesheet_tag }}」のような Liquid タグを使用していますが、なぜ「https」に解決されるのかわかりません

ありがとうニック

4

1 に答える 1

0

次の2行を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 に答える