因此,应用程序在本地运行良好,直到我预编译资产。在部署到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示例来检查它是否也崩溃了,它确实有效。
但是我在菜单栏中的下拉列表不起作用。这有多奇怪?
答案 0 :(得分:11)
最后我解决了这个问题。
刚刚更改为config/environments/development.rb
config.assets.debug = true
到
config.assets.debug = false
现在javascript按预期工作
现在,当我遇到此问题时,我实际运行rake assets:clean
并清理浏览器缓存。这将使您的应用程序像以前一样在开发工作中工作。
如果您想拥有一个更好的流程,您可以创建一个新的分支,在其中运行预编译并保持主分支的清洁。
其他替代方法是在heroku上运行预编译,因此您不必在本地执行此操作。我还没有尝试过,但你需要启用“测试版”功能,这样才能在所有应用中正常运行。你可以阅读它here