我注意到,当我部署到Heroku时,JavaScript功能不工作(如Bootstrap Popover,Buttons等)。我正在使用rails 3.2.2,ruby 1.9.3。这些功能在localhost上运行。部署到Heroku时似乎没有显示错误(功能根本不显示)。Javascript功能在本地主机上工作,但不在部署到Heroku时
任何想法?谢谢!
我注意到,当我部署到Heroku时,JavaScript功能不工作(如Bootstrap Popover,Buttons等)。我正在使用rails 3.2.2,ruby 1.9.3。这些功能在localhost上运行。部署到Heroku时似乎没有显示错误(功能根本不显示)。Javascript功能在本地主机上工作,但不在部署到Heroku时
任何想法?谢谢!
我也有类似的问题,但问题也发生在localhost上。
您可能正在使用rails-bootstrap gem。它安装一个文件bootstrap.coffee.js这个文件是罪魁祸首。它有.popover使用和相关的插件不包括在内。我评论说,因为我没有使用它,但你应该考虑包括popover插件的引导。
我遵循你所说的和只要我删除了我的咖啡文件,所有工作,但我想知道**你有任何来源支持您的索赔?** – 2017-08-30 01:41:47
我有完全相同的问题(我对Rails很陌生)。我最终通过重新排列文件的application.js中的顺序解决问题:
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
对于JavaScript的在开发工作,“需要的jquery”是后需要“的要求叽叽喳喳/引导。”在生产中,jquery需要先来。不知道是什么导致了这种情况,但现在在部署到Heroku时起作用。
我用这两个职位:
javascript - Twitter bootstrap jquery plugins not compiled for production
Rails 4.2.5更新: // =要求jquery // =要求jquery_ujs // =需要引导 // =需要角 // = requi re'leaflet.js' // =需要传单 // = require_tree。 下拉菜单可以在Heroku上运行,但引导程序需要在本地主机上运行。 有没有办法解决这个问题,或者至少在不改变application.js的情况下在Heroku和localhost上工作? PS:似乎无法格式化评论。 – Greg 2016-03-30 20:14:40
手动预编译为我工作。
bundle exec rake assets:precompile
之前,你推到heroku。
这似乎是要走的路,如果你手动包括bootstrap.js和bootstrap.css而不是使用gem – eziegl 2014-05-28 01:15:53
heroku对你来说这么做 – 2017-08-30 01:42:04
检查您的production.rb文件。我相信该行必须是:
config.assets.compile = true
我相信这被默认设置为false。
警告:Richard Hulse建议不要在这里打开它:http:// stackoverflow。 COM /问题/ 8821864 /配置资产 - 编译 - 真在护栏 - 生产 - 为什么 - 不 – Alex 2016-07-02 18:08:27
请记住,您通常会在localhost上执行的所有操作,您必须使用heroku进行操作。确保你的heroku run rake assets:precompile
。
检查了我的应用程序的缩小js,并且popover在文件中是两次。
确保只有bootstrap
和boostrap-sprockets
一个在你的JavaScript资产
从文档中声明:
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
如果您已经尝试heroku run rake assets:precompile
并且JS仍然无法正常工作,请在预编译资源后尝试执行heroku restart
以重新启动服务器。
如果你放入一些console.log行,你会得到什么吗? – jimw 2012-04-18 18:14:59
我对Heroku一无所知(第一次听过这个名字),但是JavaScript是在客户端执行的。所以只要你使用相同的浏览器和JavaScript代码是相同的,你应该得到相同的行为。尝试查看源代码(从右键单击菜单或浏览器中的“编辑”菜单)以查看两种情况并比较差异。 – Travesty3 2012-04-18 18:17:33
JavaScript文件是否正确拉出(Firebug说什么)?如果是这样,你有任何特定于localhost域的代码吗? – Igor 2012-04-18 18:17:47