我已将 heroku 上的应用程序升级到 cedar 堆栈,以便 Assets 管道正常工作。我已按照 heroku's docs 中的说明进行操作通过选择在本地编译 Assets 。
这已经创建了一个目录 public/assets。生产中的一切都完美运行(css,js,没有问题)。回到我的开发环境好像会导致js无法正常运行。
在环境/production.rb
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = true
config.assets.digest = true
在环境/development.rb
config.assets.compress = false
config.assets.debug = true
config.assets.compile = true
我检查了源页面,所有文件都正确加载,没有重复的条目。我已经阅读了一些关于是在本地还是在生产中编译 Assets 的 SO 问题,但它们似乎都没有帮助。我还缺少其他东西来恢复我的开发 javascript 代码,这是要遵循的正确程序吗?谢谢
最佳答案
好吧,我似乎已经解决了。
在environments/development.rb 改变这一行
config.assets.debug = true
对此
config.assets.debug = false
不知道为什么会这样,但通过阅读 Rails 指南和引用:
“当 Debug模式关闭时,链轮连接并在所有文件上运行必要的预处理器。关闭 Debug模式后,上面的 list 将生成:”
<script src="/assets/application.js" type="text/javascript"></script>
希望这可以帮助有类似问题的人。
关于ruby-on-rails-3.1 - 为什么 rake Assets :precompile in development cause problems but not in my production environement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10520724/