![](/img/trans.png)
[英]Problems serving .js and .css assets cloudfront CDN Heroku Rails 4 App
[英]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.