将Rails应用程序部署到Heroku后,没有任何javascript函数可用。
文件似乎已被编译(虽然在缩小的文件中不容易看到)。
解决javascript无法正常工作的步骤的逻辑过程是什么(它在生产中运行良好)。
谢谢
答案 0 :(得分:6)
此问题与资产管道相关联。你应该编译资产。
要解决它, 在config / environments / production.rb中将config.assets.compress转为true,
即
config.assets.compress = true
然后运行RAILS_ENV=production bundle exec rake assets:precompile .
再次推送代码。
答案 1 :(得分:3)
有时我会遇到问题,因为资产管道和我对它的误解。所以我只是为了确保正确打包的东西只是在页面加载时放入一个简单的警报(把它放在用户无法访问的随机页面上等)
alert('some-unique-string')
将代码推送到服务器。然后在chrome中打开页面并使用开发工具,转到“脚本”选项卡。从那里你可以搜索字符串some-unique-string
,因为你的字符串文字不会被缩小。如果您没有看到,那么您就知道您的javascript因某种原因未被包含在内。
至少会给你一个起点。