2012-04-30 33 views
0

由于某些原因,资产文件不再需要来自application.js/css文件中。我在这两个行:从application.js/application.css中不需要rail资产

*= require_self 
*= require_tree . 

,并在这两个stylesheetsjavascripts文件夹一吨的资源文件。

应用程序日志(开发模式):

Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2012-04-30 17:03:44 +0300 
Served asset /application.css - 304 Not Modified (7ms) 


Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2012-04-30 17:03:45 +0300 
Served asset /application.js - 304 Not Modified (2ms) 

当我检查装入的application.js/CSS文件的内容从它有两行(注释)在浏览器中:

*= require_self 
*= require_tree . 

所以它看起来应用程序资产文件没有被评估。 您能否请教建议可能的原因?

的Ubuntu 12.04,RVM,红宝石1.9.3-P194,

的NodeJS

回答

1

一些提示:

那些神奇的意见必须是文件中的第一个评论的一部分,什么都没有,甚至没有whitelines必须在它的前面。

application.css完整的内容必须至少为:

/* 
*= require_self 
*= require_tree . 
*/ 

application.js和:

//= require_self 
//= require_tree . 

此外,一定要硬刷新你的应用程序,这样你的浏览器不使用缓存的结果。

1

好了,这只是我是一个傻瓜:

// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD GO AFTER THE REQUIRES BELOW. 

所以我已经添加了空行的文件和现在的一切工作正常。

不知道它是如何工作的,但

+0

刚刚有这个完全相同的问题。感谢记录这一点,这非常有帮助。 – Pete