我之前在heroku上开发过几个应用,并且从未遇到过这个错误:
ActionView::Template::Error (application.css没有预编译):
我的最新提交甚至没有更改application.css
文件...这是怎么回事?
我看到有文章说要在production.rb
中更改一行为:
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
但是这样不会使一切都变慢吗?为什么突然出现这个错误?最好的解决方法是什么?
编辑: 我应该注意到它在开发中运行得很好。
public/assets/manifest.yml
提交到源代码控制中了?如果 Heroku 发现了它,就不会预编译你的资产。请参阅 https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar 以获取有关如何与预编译资产一起工作的更多信息。而且你绝对不想更改配置,在生产环境中编译资产速度要慢得多。 - Daniel Evansgit add .
然后git commit -m "message"
然后git push heroku master
。只有一个文件被更改了,那就是一个 Rake 文件。 - DeekorRakefile
发生了更改,那么预编译操作可能已被禁用或由于该更改而出现故障。我建议您在本地检查它们并查看它们是否正常工作。 - Daniel Evansrake assets:precompile:all
命令。确保它不会出现错误,并且创建了public/assets/application.css
文件。 - Daniel Evans