6

将 Rails 应用程序部署到 Heroku 后,没有 javascript 函数在工作。

这些文件似乎已经编译(尽管在缩小的文件中不容易看到)。

找出javascript为什么不起作用的逻辑步骤是什么(它在生产中运行良好)。

谢谢

4

2 回答 2

6

这个问题与资产管道有关。您应该编译资产。

为了解决它,在 config/environments/production.rb 中将 config.assets.compress 设置为 true,

IE

  config.assets.compress = true

然后运行RAILS_ENV=production bundle exec rake assets:precompile .

再次推送代码。

于 2012-06-08T09:54:02.550 回答
3

有时我会因为资产管道和我对它的误解而遇到问题。所以我所做的只是为了确保正确打包东西只是在页面加载时发出一个简单的警报(把它放在一些用户无法访问的随机页面上,等等)

alert('some-unique-string')

将代码推送到服务器。然后在 chrome 中打开页面并使用开发工具,转到“脚本”选项卡。从那里您可以搜索字符串some-unique-string,因为您的字符串文字不会被缩小。如果您没有看到,那么您知道您的 javascript 由于某种原因没有被包含在内。

这至少会给你一个起点。

于 2012-06-08T09:33:56.550 回答