我已经开始开发简单的rails应用程序。经过几个小时的工作,我注意到删除的CSS仍然以某种方式应用于网页。
为了解决此问题,我多次执行了以下操作:
但没有任何变化。非常奇怪-应用了新的CSS定义,但是我删除的那些定义仍然存在。因此,我放弃了并决定创建新项目。
我已经设置了新项目(其脚手架与第一个相同),当我打开其中一个 View 时,旧项目中的样式也被应用了。我决定再次查看http://guides.rubyonrails.org/asset_pipeline.html并找出该设置
#Expands the lines which load the assets
config.assets.debug = false
解决了这个问题。但是这个选项到底在做什么?为什么在这种情况下应用旧项目css?
最佳答案
在this post中已经很好地描述了此选项的效果,但我也会在这里对其进行总结。更改config.assets.debug
的值(value)在于在开发中的页面加载时间与调试的便利性之间进行权衡。
基本上:config.assets.debug = true
: Assets 是单独提供的,就像您在开发中看到的那样进行组织。诸如SASS或CoffeeScript之类的预处理语言仍将显示为它们的目标语言(分别为CSS和JS)。config.assets.debug = false
: Assets bundle 到application.css
和application.js
等文件中。错误堆栈跟踪可能不再具有正确的行号,并且将它们映射回原始代码更加困难。