javascript - Rails 4 - heroku production version not incorporating js or images -


i'm trying figure out what's going wrong deployment in production heroku.

my local host files work.

i have app/assets/js folder file called application.js, has:

//= require jquery //= require bootstrap-sprockets //= require jquery_ujs //= require html.sortable //= require bootstrap-slider //= require moment //= require bootstrap-datetimepicker //= require pickers //= require main //= require npm //= require hammer.min //= require jquery.animate-enhanced.min //= require jquery.countto //= require jquery.easing.1.3 //= require jquery.fitvids //= require jquery.magnific-popup.min //= require jquery.parallax-1.1.3 //= require jquery.properload //= require jquery.shuffle.modernizr.min //= require jquery.sudoslider.min //= require jquery.superslides.min //= require masonry.pkgd.min //= require rotaterator //= require smoothscrolljs //= require waypoints.min //= require wow.min //= require underscore //= require gmaps/google //= require dependent-fields //= require chosen-jquery //= require cocoon //= require imagesloaded.pkgd.min //= require isotope.pkgd.min //= require circle-progress //= require jquery.counterup.min //= require jquery.pjax //= require custom.js //= require_tree . 

in app/assets/stylesheets folder. have file called application.css.scss, has:

@import "bootstrap-sprockets"; @import "bootstrap"; @import 'bootstrap-datetimepicker'; @import "font-awesome-sprockets"; @import "font-awesome"; @import "bootstrap-slider"; @import "chosen"; @import "animate"; @import "magnific-popup"; @import "simple-line-icons"; @import "shortcodes"; @import "style"; @import "text"; @import "variable";   @import "addresses.scss"; @import "articles.scss"; @import "common.scss"; @import "footer.scss"; @import "forms.scss"; @import "glyphs.scss"; @import "index.scss"; @import "legal.scss"; @import "navigation.scss"; @import "pages.scss"; @import "profiles.scss"; @import "profile2.scss"; @import "video.scss"; 

i have app/assets/images folder. has several .jpg , .png files favicon.ico

in application.rb, have

require file.expand_path('../boot', __file__)  require 'rails/all'   # require gems listed in gemfile, including gems # you've limited :test, :development, or :production. bundler.require(*rails.groups)    class application < rails::application     # settings in config/environments/* take precedence on specified here.     # application configuration should go files in config/initializers     # -- .rb files in directory automatically loaded.      # set time.zone default specified zone , make active record auto-convert zone.     # run "rake -d time" list of tasks finding time zone names. default utc.     config.time_zone = 'london'      # default locale :en , translations config/locales/*.rb,yml auto loaded.     # config.i18n.load_path += dir[rails.root.join('my', 'locales', '*.{rb,yml}').to_s]     # config.i18n.default_locale = :de      # not swallow errors in after_commit/after_rollback callbacks.     config.active_record.raise_in_transactional_callbacks = true      config.assets.paths << "#{rails}/vendor/assets/fonts"      config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)      config.assets.initialize_on_precompile = false      config.secret_key_base = figaro.env.secret_key_base      # i18n.available_locales = [:en, :ru]      # config.active_record.observers = :video_observer      # config.active_record.observers = :user_observer      config.autoload_paths += %w(#{config.root}/services)   end end 

in production.rb, have

# enable rack::cache put simple http cache in front of application   # add `rack-cache` gemfile before enabling this.   # large-scale production use, consider using caching reverse proxy   # nginx, varnish or squid.   # config.action_dispatch.rack_cache = true    # disable serving static files `/public` folder default since   # apache or nginx handles this.   config.serve_static_files = env['rails_serve_static_files'].present?    # compress javascripts , css.   config.assets.js_compressor = :uglifier   config.assets.css_compressor = :sass    # not fallback assets pipeline if precompiled asset missed.   # config.serve_static_assets = true   # config.assets.compile = true   config.assets.precompile =  ['*.js']    # config.assets.precompile += %w(*.js *.css *.svg *.eot *.woff *.ttf *.gif *.png *.ico)     # asset digests allow set far-future http expiration dates on assets,   # yet still able expire them through digest params.   config.assets.digest = false    # `config.assets.precompile` , `config.assets.version` have moved config/initializers/assets.rb    # specifies header server uses sending files.   # config.action_dispatch.x_sendfile_header = 'x-sendfile' # apache   # config.action_dispatch.x_sendfile_header = 'x-accel-redirect' # nginx    # force access app on ssl, use strict-transport-security, , use secure cookies.   # config.force_ssl = true    # use lowest log level ensure availability of diagnostic information   # when problems arise.   config.log_level = :debug    # prepend log lines following tags.   # config.log_tags = [ :subdomain, :uuid ]    # use different logger distributed setups.   # config.logger = activesupport::taggedlogging.new(sysloglogger.new)    # use different cache store in production.   # config.cache_store = :mem_cache_store    # enable serving of images, stylesheets, , javascripts asset server.   # config.action_controller.asset_host = 'http://assets.example.com'    # ignore bad email addresses , not raise email delivery errors.   # set true , configure email server immediate delivery raise delivery errors.   # config.action_mailer.raise_delivery_errors = false    # enable locale fallbacks i18n (makes lookups locale fall   # i18n.default_locale when translation cannot found).   config.i18n.fallbacks = true    # send deprecation notices registered listeners.   config.active_support.deprecation = :notify    # use default logging formatter pid , timestamp not suppressed.   config.log_formatter = ::logger::formatter.new    # not dump schema after migrations.   config.active_record.dump_schema_after_migration = false 

in config initialiser/assets.rb file have:

# sure restart server when modify file.  # version of assets, change if want expire assets. rails.application.config.assets.version = '1.0'  # add additional assets asset load path # rails.application.config.assets.paths << emoji.images_path  # precompile additional assets. # application.js, application.css, , non-js/css in app/assets folder added. rails.application.config.assets.precompile += %w( search.js ) rails.application.config.assets.precompile += %w( surveyor_all.js ) rails.application.config.assets.precompile += %w( surveyor_all.css ) rails.application.config.assets.precompile += %w( index.css ) rails.application.config.assets.precompile += %w( *.jpg *.gif *.png *.ico ) rails.application.config.assets.precompile += %w( favicon.ico ) rails.application.config.assets.precompile += %w( application.css ) 

i have tried several times on running rake precompile assets , run rails_env=production bundle exec rake assets:precompile. can't work.

the javascript works fine in development version doesn't work in production. images not rendering. cannot figure out why. js files used in application listed in application.js. of required files stored in vendor folder. similarly, css files listed in application.css.scss file , images in app assets images folder.

does know how deploy heroku files included?

examples (there many, of things don't work:

  1. image

     <div class="hero-section parallax-bg dark-layer"  

    data-background= "<%= image_path "cropdust.jpg" %>" >

the above image stored in app assets images folder. renders blank panel (in production).

  1. css

i have panel of content div tabs , ids. tabs supposed move when id clicked. don't, panel stuck on first tab:

<div class="row">                         <div class="col-md-12">                             <div class="dp-tab-1">                                 <ul class="dp-tab-list row" id="mytab">                                     <li class="col-md-3 col-xs-6 active" >                                         <a href="#tab-content-first">                                              <span>the old way</span>                                         </a>                                     </li>                                     <li class="col-md-3 col-xs-6">                                         <a href="#tab-content-second">                                              <span>direct</span>                                         </a>                                     </li>                                     <li class="col-md-3 col-xs-6">                                         <a href="#tab-content-third">                                                <span>myths</span>                                         </a>                                     </li>                                     <li class="col-md-3 col-xs-6">                                         <a href="#tab-content-fourth">                                              <span>our approach</span>                                         </a>                                     </li>                                 </ul>                                 <div class="dp-tab-content tab-content">                                     <div class="tab-pane row fade in active" id="tab-content-first">                                         <div class="col-md-6 text-center">                                              <%= image_tag "oldway.jpg", :class=>"wow fadeinleft img-responsive", :alt=>"the old fashioned way" %>                                          </div>                                         <div class="col-md-6">                                             <div class="tab-inner">                                                 <h4> inefficient</h4>                                                 <p class='medium-text'>                                                     with:                                                     <ul class='medium-text'>                                                         <li class='medium-text'>- grant  routinely dwarfed                                                      </ul>                                                      </p>                                                  <p class='medium-text'>                                                     it's beyond clear,                                                  </p>                                                   <br/>                                                 <a class='btn btn-info btn-line'>read more</a>                                             </div>                                         </div>                                     </div>                                     <div class="tab-pane row fade" id="tab-content-second">                                         <div class="col-md-8">                                             <div class="tab-inner"> 
  1. js

        <span class="countto" data-from="356" data-to="0" data-speed="3000">0</span>    </div> 

make sure following true in production.rb file

config.assets.compile = true config.assets.digest = true 

i had similar issues on heroku stars jquery raty plugin broken eventhough in development worked fine.

adding above settings did job me. see false in config/production.rb file have posted


Comments