当我为带有rake assets:precompile
的rails 3.1应用程序预编译我的资产时,如果资产文件中没有任何更改,它会吐出旧的缓存版本。我可以说,因为我的erb正在使用一个常量,我试图在我的应用程序的其他地方更改。一个解决方法是在重新预编译之前改变其中一个css文件(例如通过添加空格等),但这很痛苦,我想尝试在可能的情况下禁用此缓存。有任何想法吗???
答案 0 :(得分:2)
这是管道的预期行为 - 在预编译时仅对ERB进行一次评估。编译时的值是您在文件中获得的值。
缓存基于检查文件的时间戳。您可以在没有预编译的情况下在生产中运行Sprockets(这称为实时编译),但是您无法关闭缓存,因为性能会很糟糕 - 每个请求都需要Sprockets重新编译所有文件。
抱歉:-(