在生产模式下的rails 3.2应用程序中。我在config / environments / production.rb中有以下设置:
config.assets.compile = false
当我访问应用程序主页时,我得到一个(内部服务器错误500)并且在日志中我只能看到
cache: [GET /] miss
如果我改变
config.assets.compile = true
几乎一切都运转良好。但我认为这意味着rake资产:在这种情况下预编译不能正常工作,我该如何解决?
注意: 如果Sprockets live编译设置为true(并且网站正常工作)并且我检查了firebug net log,我可以看到没有提供某些css或js文件,但这对我来说没问题,因为它们实际上并不存在。 例如,我不在成本视图中使用任何视图特定的css或js,并且我没有costs.css或costs.js。这可能是问题的根源,我是否必须创建所有这些文件,即使它们是空的?
答案 0 :(得分:2)
如果你引用一个文件 - 也就是说它被Rails引用 - 那么它应该存在。
Rails助手中发生的事情是它将在清单中查找包含所有文件的摘要(用于生成)的文件。如果文件不存在,这将失败。
我建议您删除对不存在的文件的任何引用。
应该将对您需要的文件的引用添加到预编译数组中。