Reputation: 119
I'm having a problem compiling my Rails 4 app assets over AWS Cloudfront. It worked before but I think I may have done something to my production.rb or application.rb since this is a more recent issue. My application is hosted on Heroku. I've enclosed my production and application files below. Hopefully I formatted the question right. Please and thank you!
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)'
Upvotes: 1
Views: 451
Reputation: 119
Anndd...I'm an idiot. in production.rb I need to change
config.assets.compile = true
That is all.
Upvotes: 1