Javascript features work on localhost but not when deployed to Heroku

前端 未结 8 1673
栀梦
栀梦 2020-12-01 17:57

I\'ve noticed that when I deploy to Heroku, javascript features dont work (such as Bootstrap Popover, Buttons, etc). I\'m working with rails 3.2.2, ruby 1.9.3. The features

相关标签:
8条回答
  • 2020-12-01 18:36

    I also had similar problem but the problem was happening on localhost as well.

    You are probably using rails-bootstrap gem. It installs a file bootstrap.coffee.js This file was culprit. It had .popover use and relevant plugin was not included. I commented that out as I was not using it anyway but you should consider including the popover plugin for bootstrap.

    0 讨论(0)
  • 2020-12-01 18:37

    I had the exact same issue (I'm very new to Rails). I eventually solved the issue by rearranging the order of files within application.js:

    //= require jquery
    //= require jquery_ujs
    //= require twitter/bootstrap
    

    For the javascripts to work in development, "require jquery" needed to be after "require twitter/bootstrap." In production, jquery needed to come first. Not sure what caused this, but it now works when deployed to Heroku.

    I used these two posts:

    javascript - Twitter bootstrap jquery plugins not compiled for production

    twitter bootstrap drop down suddenly not working

    0 讨论(0)
  • 2020-12-01 18:40

    Updating sprockets worked for me: bundle update sprockets

    0 讨论(0)
  • 2020-12-01 18:41

    Checked the minified js for my app, and popover was twice in the file.

    Be sure that only one of bootstrap and boostrap-sprockets is declared in your javascript assets

    From the docs:

    bootstrap-sprockets and bootstrap should not both be included in application.js.

    bootstrap-sprockets provides individual Bootstrap Javascript files (alert.js or dropdown.js, for example), while bootstrap provides a concatenated file containing all Bootstrap Javascripts.

    Be sure that only one of bootstrap and bootstrap sprockets

    Refs: bootstrap-sass github issue and here.

    0 讨论(0)
  • 2020-12-01 18:46

    If you've already tried heroku run rake assets:precompile and the JS still isn't working, try doing heroku restart to restart the server after precompiling assets.

    0 讨论(0)
  • 2020-12-01 18:53

    Manually precompiling worked for me.

    bundle exec rake assets:precompile before you push to heroku.

    0 讨论(0)
提交回复
热议问题