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

Ism*_*reu 3 javascript ruby ruby-on-rails ruby-on-rails-3 twitter-bootstrap

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

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

提前致谢

UPDATE

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

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)
Run Code Online (Sandbox Code Playgroud)

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

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

Ism*_*reu 11

最后我解决了这个问题.

刚改变了 config/environments/development.rb

config.assets.debug = true
Run Code Online (Sandbox Code Playgroud)

config.assets.debug = false
Run Code Online (Sandbox Code Playgroud)

现在javascript按预期工作

UPDATE

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

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

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

  • 这对我也有用.此设置所在的文件是config/environments/development.rb (2认同)