4

我已将 heroku 上的应用程序升级到 cedar 堆栈,以便资产管道正常工作。通过选择在本地编译资产,我遵循了heroku 文档中给出的说明。

这已经创建了一个目录 public/assets。生产中的一切都完美无缺(css,js,没有问题)。回到我的开发环境似乎会导致 js 无法正常运行。

环境/生产.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

我检查了源页面,所有文件都正确加载,没有重复条目。我已经阅读了一些关于是在本地还是在生产环境中编译资产的问题,但它们似乎都没有帮助。我是否还缺少其他东西来恢复我的开发 JavaScript 代码,这是要遵循的正确程序吗?谢谢

4

1 回答 1

7

好的,我似乎已经解决了。

在 environment/development.rb 中更改此行

config.assets.debug = true

对此

config.assets.debug = false

不知道为什么会这样,但通过阅读 rails 指南和引用:

“当调试模式关闭时,Sprockets 连接并在所有文件上运行必要的预处理器。关闭调试模式后,上面的清单将生成:”

<script src="/assets/application.js" type="text/javascript"></script>

希望这可以帮助有类似问题的人。

于 2012-05-10T08:17:19.497 回答