簡體   English   中英

Heroku Rails 4應用程序資產未通過AWS Cloudfront加載

[英]Heroku Rails 4 App Assets not loaded over AWS Cloudfront

我在通過AWS Cloudfront編譯Rails 4應用程序資產時遇到問題。 它以前工作過,但我認為我可能對我的production.rb或application.rb做過一些事情,因為這是一個較新的問題。 我的應用程序托管在Heroku上。 我在下面附上了我的生產和應用程序文件。 希望我格式化問題正確。 謝謝,麻煩您了!

Production.rb

SomeAPP::Application.configure do
  config.cache_classes = true
  config.eager_load = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true  
  config.serve_static_assets = true
  config.assets.compress = true
  config.assets.js_compressor = :uglifier
  config.assets.css_compressor = :sass
  config.assets.compile = false
  config.assets.digest = true
  config.assets.version = '1.2'
  config.force_ssl = true
  config.log_level = :info
  config.static_cache_control = "public, max-age=31536000"
  config.action_controller.asset_host = ENV["CLOUDFRONT"]
  config.assets.precompile += [
    "rails_admin/startups.css",
    "ckeditor/ckeditor.js",
    "landingpage.css.erb",
    "aboutpage.css",
    "faq.css",
    "login.css",
    "logout.css"
  ]
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.default_url_options = { :host => ENV['SERVER_HOST'] }
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.log_formatter = ::Logger::Formatter.new
  config.paperclip_defaults = {
    :storage => :s3,
    :s3_credentials => {
      :bucket => ENV['AWS_BUCKET'],
      :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
      :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
    },
    :s3_protocol => 'https'
  }
  if ENV["REDISCLOUD_URL"]
    config.cache_store = :redis_store, ENV["REDISCLOUD_URL"], { expires_in: 90.minutes }
  end
end

application.rb中

require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(:default, Rails.env)
module SomeApp
  class Application < Rails::Application
    config.before_initialize do
      $firm_name = ENV["SOMEAPPFIRM"]
      $default_from = ENV["SOMEDEFAULT"]
      $domain_name = ENV["SOMEDOMAINNAME"]
      $grace_period_hours = 5
      $mail_env = ""
      if ENV["ENV"].length > 0
        $mail_env = " (#{ENV["ENV"]}) "
      end
    end
  end
end
DEFAULT_ADMIN_TIMEZONE = ENV['DEFAULT_ADMIN_TIMEZONE'] || 'Pacific Time (US & Canada)'

Anndd ...我是個白痴。 在production.rb我需要改變

config.assets.compile = true

就這些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM