Javascript在本地开发,但在Heroku上没有生产

时间:2015-06-09 17:59:55

标签: javascript ruby-on-rails heroku

我花了好几个小时试图找出为什么我的Javascript在Heroku上的生产中没有正常工作,但在我的本地开发服务器上工作得很好。从我的调试来看,似乎编译后的application.js并没有在生产中解雇,尽管其他javascript_inclued_tags也是如此。

我使用Heroku Cedar-14堆栈,下面是相关文件:

的Gemfile

source 'https://rubygems.org'
gem 'rails',                    '4.2.0'
gem 'bcrypt',                   '3.1.7'
gem 'faker',                    '1.4.2'
gem 'will_paginate',            '3.0.7'
gem 'bootstrap-will_paginate',  '0.0.10'
gem 'bootstrap-sass',           '3.2.0.0'
gem 'sass-rails',               '5.0.0.beta1'
gem 'fullcalendar-rails'
gem 'momentjs-rails',           '2.9.0'
gem 'uglifier',                 '2.5.3'
gem 'jquery-turbolinks',        '2.1.0'
gem 'bootswatch-rails',         '3.2.4'
gem "font-awesome-sass"
gem 'responders',               '~> 2.0'
gem 'mail_form',                '1.5.0'
gem 'simple_form',              '3.1.0.rc2'
gem 'stripe',                   '1.18.0'
gem 'carrierwave',              '0.10.0'
gem 'cloudinary'
gem 'attachinary',              '1.3.0'
gem 'mini_magick',              '3.8.0'
gem 'fog',                      '1.23.0'
gem 'coffee-rails',             '4.1.0'
gem 'jquery-rails',             '4.0.0.beta2'
gem 'turbolinks',               '2.3.0'
gem 'jbuilder',                 '2.2.3'
gem 'activeadmin',              github: 'activeadmin'
gem "parsley-rails"
gem 'icalendar'
gem 'geokit'
gem 'schoolfinder'
gem 'timezone'
gem 'impressionist'
gem 'devise'
gem 'rubillow'
gem 'business_time'
gem 'owlcarousel-rails'
gem 'bootstrap-datepicker-rails', '1.4.0'
gem 'bootstrap-slider-rails'
gem 'sdoc',                     '0.4.0', group: :doc
gem 'gmaps4rails'

group :development, :test do
 gem 'sqlite3',                '1.3.9'
 gem 'byebug',                 '3.4.0'
 gem 'web-console',            '2.0.0.beta3'
 gem 'spring',                 '1.1.3'
end

group :test do
 gem 'minitest-reporters',     '1.0.5'
 gem 'mini_backtrace',         '0.1.3'
 gem 'assert_json'
end

group :production do
 gem 'pg',                     '0.17.1'
 gem 'rails_12factor',         '0.0.2'
 gem 'unicorn',                '4.8.3'

end

的application.js

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require jquery.number
//= require functions
//= require bootbox.min
//= require jquery.ui.widget
//= require jquery.iframe-transport
//= require jquery.fileupload
//= require cloudinary/jquery.cloudinary
//= require attachinary
//= require houses
//= require turbolinks
//= require bootstrap
//= require moment
//= require moment-timezone-with-data-2010-2020
//= require bootstrap-datepicker/core
//= require bootstrap-datepicker/locales/bootstrap-datepicker.en-GB
//= require bootstrap-slider
//= require jquery.payment
//= require classie
//= require jquery.blueimp-gallery.min
//= require gsdk-bootstrapswitch
//= require gsdk-checkbox
//= require gsdk-radio
//= require jquery.validate
//= require jquery.bootstrap.wizard
//= require prettify
//= require index
//= require jquery.formatter
//= require elessar
//= require owl.carousel
//= require jquery-dateFormat.min
//= require perfect-scrollbar.jquery
//= require login
//= require agency
//= require wizard
//= require custom

环境/ production.rb

Rails.application.configure do
  # Settings specified here will take precedence over those in config/application.rb.

  # Code is not reloaded between requests.
  config.cache_classes = true

  # Eager load code on boot. This eager loads most of Rails and
  # your application in memory, allowing both threaded web servers
  # and those relying on copy on write to perform better.
  # Rake tasks automatically ignore this option for performance.
  config.eager_load = true

  # Full error reports are disabled and caching is turned on.
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  # Enable Rack::Cache to put a simple HTTP cache in front of your application
  # Add `rack-cache` to your Gemfile before enabling this.
  # For large-scale production use, consider using a caching reverse proxy like
  # NGINX, varnish or squid.
  # config.action_dispatch.rack_cache = true

  # Disable serving static files from the `/public` folder by default since
  # Apache or NGINX already handles this.
  config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?

  # Compress JavaScripts and CSS.
  config.assets.js_compressor = :uglifier
  # config.assets.css_compressor = :sass

  # Do not fallback to assets pipeline if a precompiled asset is missed.
  config.assets.compile = true

  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
  # yet still be able to expire them through the digest params.
  config.assets.digest = true

  # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb

  # Specifies the header that your server uses for sending files.
  # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX

  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
  config.force_ssl = true

  # Use the lowest log level to ensure availability of diagnostic information
  # when problems arise.
  config.log_level = :debug

  # Prepend all log lines with the following tags.
  # config.log_tags = [ :subdomain, :uuid ]

  # Use a different logger for distributed setups.
  # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)

  # Use a different cache store in production.
  # config.cache_store = :mem_cache_store

  # Enable serving of images, stylesheets, and JavaScripts from an asset server.
  # config.action_controller.asset_host = 'http://assets.example.com'

  # Ignore bad email addresses and do not raise email delivery errors.
  # Set this to true and configure the email server for immediate delivery to raise delivery errors.
  # config.action_mailer.raise_delivery_errors = false

  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
  # the I18n.default_locale when a translation cannot be found).
  config.i18n.fallbacks = true

  # Send deprecation notices to registered listeners.
  config.active_support.deprecation = :notify

  # Use default logging formatter so that PID and timestamp are not suppressed.
  config.log_formatter = ::Logger::Formatter.new

  # Do not dump schema after migrations.
  config.active_record.dump_schema_after_migration = false

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  host = 'virgentrealty.com'
  config.action_mailer.default_url_options = { host: host }
  ActionMailer::Base.smtp_settings = {
    :address        => 'smtp.sendgrid.net',
    :port           => '587',
    :authentication => :plain,
    :user_name      => ENV['SENDGRID_USERNAME'],
    :password       => ENV['SENDGRID_PASSWORD'],
    :domain         => 'heroku.com',
    :enable_starttls_auto => true
  }  
end

0 个答案:

没有答案