rails precompile为什么javascript在本地不起作用,但在heroku它可以正常工作

时间:2012-06-15 17:18:59

标签: javascript ruby-on-rails ruby ruby-on-rails-3 twitter-bootstrap

因此,应用程序在本地运行良好,直到我预编译资产。在部署到heroku时,我做了资产预编译然后部署,并且它在heroku上工作正常,但现在看来javascript被破坏了。

有关如何解决的任何建议?我应该删除公用文件夹中的文件还是使用某些配置?

提前致谢

更新

对于我在开发模式下加载的每个资产文件,我得到了其中一个,这是正常的吗?

Started GET "/assets/home.js?body=1" for 127.0.0.1 at 2012-06-15 19:16:48 +0100
Served asset /home.js - 304 Not Modified (0ms)

这很奇怪。我正在使用twitter bootstrap,现在测试javascript是否搞砸了我添加了一个工具提示html示例来检查它是否也崩溃了,它确实有效。

但是我在菜单栏中的下拉列表不起作用。这有多奇怪?

1 个答案:

答案 0 :(得分:11)

最后我解决了这个问题。

刚刚更改为config/environments/development.rb

config.assets.debug = true

config.assets.debug = false

现在javascript按预期工作

更新

现在,当我遇到此问题时,我实际运行rake assets:clean并清理浏览器缓存。这将使您的应用程序像以前一样在开发工作中工作。

如果您想拥有一个更好的流程,您可以创建一个新的分支,在其中运行预编译并保持主分支的清洁。

其他替代方法是在heroku上运行预编译,因此您不必在本地执行此操作。我还没有尝试过,但你需要启用“测试版”功能,这样才能在所有应用中正常运行。你可以阅读它here