【问题标题】:rails assets not being required from application.js/application.cssapplication.js/application.css 不需要 rails 资产
【发布时间】:2012-04-30 14:12:55
【问题描述】:

由于某种原因,application.js/css 文件中不再需要资产文件。这两行我都有:

 *= 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、ruby 1.9.3-p194、nodejs

【问题讨论】:

    标签: ruby-on-rails asset-pipeline


    【解决方案1】:

    一些提示:

    那些神奇的 cmets 必须是文件中第一个 cmets 的一部分,没有任何东西,甚至白线都不能在它前面。

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

    /*
     *= require_self
     *= require_tree .
     */
    

    application.js:

    //= require_self
    //= require_tree .
    

    另外,请务必硬刷新您的应用程序,这样您的浏览器就不会使用缓存的结果。

    【讨论】:

      【解决方案2】:

      好吧,那只是我是个白痴:

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

      所以我在两个文件中都添加了空行,现在一切正常。

      不知道它以前是如何工作的

      【讨论】:

      • 刚刚遇到了同样的问题。感谢您记录这一点,这非常有帮助。
      猜你喜欢
      • 1970-01-01
      • 2021-04-27
      • 2014-01-19
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 2014-03-25
      • 2014-06-13
      • 2013-02-26
      相关资源
      最近更新 更多