简体   繁体   中英

Rails 4 - javascript files not loading in production but working well locally. (Heroku)

I publish my rails 4.1.7 app into Heroku the other day, css seems to working fine.

But javascript files responding partially. I have an alert("In Charts-other.js");

*$(document).ready(function(){

    alert("in Charts-Other.js");...
...*

to get some response, and nothing.

SOLVED : In application.js I moved the file with the error to the bottom. Everything seems to work fine.

In Heroku app link I have a direct access to all the files through: /assets/clever/java_script_files.js

config/environments/production.rb

Rails.application.configure do


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

  config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif *.svg *.ico *.eot *.ttf)
  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.js_compressor = :uglifier
  config.assets.compile = true
  config.assets.digest = true
  config.log_level = :info
  config.active_support.deprecation = :notify
  config.log_formatter = ::Logger::Formatter.new
  config.active_record.dump_schema_after_migration = false
end

config/application.rb

require File.expand_path('../boot', __FILE__)
require 'rails/all'

Bundler.require(*Rails.groups)

module Website
  class Application < Rails::Application
      config.assets.paths << Rails.root.join('vendor','assets', 'fonts','clever')
      config.assets.enabled = true
      config.serve_static_assets = true
  end
end

/Gemfile

source 'https://rubygems.org'
ruby '2.2.0'

gem 'sprockets', '~> 2.12.3'
gem 'rails', '4.1.7'
gem 'pg'
gem  'therubyracer'
gem 'jquery-rails'
gem 'jquery-ui-rails', '~> 5.0.3'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0',          group: :doc
gem 'spring',        group: :development
gem 'httparty', '~> 0.13.3'
gem 'nokogiri'
gem 'byebug'
gem 'mechanize', '~> 2.7.3'
gem 'watir', '~> 5.0.0'
gem 'watir-webdriver', '~> 0.6.11'
gem 'unicorn'
gem 'sidekiq', '~> 3.3.0'
gem 'sinatra', require: false
gem 'slim'
gem "bcrypt", :require => "bcrypt"
gem 'shoulda-matchers', '~> 2.7.0'
gem 'font-awesome-rails', '~> 4.2.0.0', group: :production
gem 'curb', '~> 0.8.6'
gem 'chronic', '~> 0.10.2'
gem 'bunny', '~> 1.6.3'
gem 'jquery-turbolinks'

group :production do
    gem 'rails_12factor'
end

group :assets do
    gem 'sass-rails', '~> 4.0.3'
    gem 'coffee-rails', '~> 4.0.0'
    gem 'uglifier', '>= 1.3.0'
    gem 'wrap-bootstrap-rails', '~> 0.0.3'
end

/app/assets/javascript/application.js

//= require jquery
//= require jquery_ujs

//= require jquery.turbolinks
//= require clever/jquery-2.1.0.min.js
//= require clever/jquery-migrate-1.2.1.min.js
//= require clever/bootstrap.min.js
//= require clever/jquery-ui.min.js
//= require clever/jquery.sparkline.min.js
//= require clever/jquery.knob.modified.min.js
//= require clever/uncompressed/d3.js
//= require clever/uncompressed/xcharts.js

//= require clever/jquery.easy-pie-chart.min.js
//= require clever/raphael.min.js
//= require clever/justgage.1.0.1.min.js
//= require clever/custom.min.js
//= require clever/core.min.js
//= require clever/pages/charts-xcharts.js
//= require clever/pages/charts-other.js
//= require clever/pages/charts-flot.js
//= require clever/uncompressed/jquery.flot.js
//= require clever/pages/ui-sliders-progress.js

//= require clever/jquery.ui.touch-punch.min.js
//= require clever/jquery.sparkline.min.js
//= require clever/fullcalendar.min.js

//= require clever/jquery.flot.pie.min.js
//= require clever/jquery.flot.stack.min.js
//= require clever/jquery.flot.resize.min.js
//= require clever/jquery.flot.time.min.js
//= require clever/jquery.flot.spline.min.js
//= require clever/jquery.autosize.min.js
//= require clever/jquery.placeholder.min.js
//= require clever/moment.min.js
//= require clever/daterangepicker.min.js
//= require clever/jquery.easy-pie-chart.min.js
//= require clever/jquery.dataTables.min.js
//= require clever/dataTables.bootstrap.min.js
//= require clever/raphael.min.js
//= require clever/morris.min.js
//= require clever/jquery-jvectormap-1.2.2.min.js
//= require clever/uncompressed/jquery-jvectormap-world-mill-en.js
//= require clever/uncompressed/gdp-data.js
//= require clever/gauge.min.js
//= require clever/uncompressed/justgage.1.0.1.js
//= require clever/pages/index.min.js

Any help will be highly appreciated Thanks. Eldar

SOLVED: In application.js I moved the file with the error to the bottom. Everything seems to work fine.

Apparently in production mode files with warnings/error act differently.

在我的情况下,我需要添加到config / application.rb:

config.assets.precompile += %w(*.js)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM