Javascript功能可以在localhost上运行,但在部署到Heroku时则不行

Ale*_*one 19 javascript heroku popover twitter-bootstrap

我注意到,当我部署到Heroku时,javascript功能不起作用(例如Bootstrap Popover,Buttons等).我正在使用rails 3.2.2,ruby 1.9.3.这些功能适用于localhost.部署到Heroku时似乎没有显示错误(这些功能根本没有显示).

有任何想法吗?谢谢!

Dru*_*Dru 15

手动预编译为我工作.

bundle exec rake assets:precompile 在你推到heroku之前.


Tay*_*orT 6

我有完全相同的问题(我对Rails很新).我最终通过重新排列application.js中的文件顺序解决了这个问题:

//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
Run Code Online (Sandbox Code Playgroud)

为了使javascripts在开发中工作,需要在"require twitter/bootstrap"之后使用"require jquery".在制作中,jquery需要先行.不知道是什么导致了这一点,但它现在可以在部署到Heroku时使用.

我用了这两个帖子:

javascript - 未编译用于生产的Twitter引导程序jquery插件

twitter bootstrap下降突然无法正常工作


小智 5

检查您的production.rb文件.我相信这条线必须是:

config.assets.compile = true
Run Code Online (Sandbox Code Playgroud)

我相信这默认设置为false.


ami*_*amb 1

我也遇到了类似的问题,但问题也发生在本地主机上。

您可能正在使用rails-bootstrap gem。它安装了一个文件 bootstrap.coffee.js 这个文件是罪魁祸首。它使用了 .popover,并且不包括相关插件。我评论了这一点,因为我无论如何都没有使用它,但你应该考虑包括引导程序的弹出窗口插件。