【问题标题】:Rails: Problems with Asset Pipelin / SASSRails:资产管道/SASS的问题
【发布时间】:2013-01-16 17:01:55
【问题描述】:

我对 Rails 资产管道有一个奇怪的问题。在我的assets/stylesheets 文件夹中,有一个普通的 application.css 和一些 gmaps4rails css 文件,还有一个 sass 子文件夹,里面有一个 application.sass。 现在一定发生了一些事情,例如当我将主体光标更改为指针时,使用 rails s 在本地打开网站,然后在包含的已编译 application.css 中没有任何变化。 我在哪里可以查看为什么会突然发生这种情况? sass和css文件应该怎么包含?

谢谢!

【问题讨论】:

    标签: css ruby-on-rails sass asset-pipeline


    【解决方案1】:

    您的意思是当您执行“查看页面源代码”之类的操作时,您在 css / sass 文件中所做的更改不会得到反映。

    有一件事,您应该在开发模式下禁用资产流水线。它会预编译资产,有时资产无法正确加载。我什至注意到闪光灯没有被清除!不过你可以试试这个:

    1) 清除浏览器缓存。

    2) 在您的 rails app 文件夹中,转到 tmp/ 并删除缓存文件夹。

    3) 现在,重新启动您的 Rails 服务器。

    【讨论】:

    • 在开发模式下转资产管道,config/enviroments/development.rb中的config.cache_classes = falseconfig.assets.compress = falseconfig.assets.debug = true够了吗?
    • 同时添加 config.assets.enabled = false 和 config.assets.precompile = false
    【解决方案2】:

    如果 application.css 使用 //=require_tree 加载样式表,你应该重命名 sass 文件

    sass/appplication.css.sass
    

    只有 Sass 可以识别纯 sass 文件。 Sprockets 依赖于最后一个扩展名,因此无法识别样式表。

    但是你也可以依赖 sass 来包含其他文件:

    # application.sass.css
    //= require_self
    
    @import "sass/application";
    

    并保持 sass 文件不变。

    【讨论】:

    • 我更改了文件结尾.. 这不应该立即更新吗,例如在运行rails s 服务器时,将一些新内容保存到.css.sass 并在我的浏览器中点击重新加载我没有看到更改
    • 而且,看起来它包含两次 css,在标题中有
    【解决方案3】:

    根据您的环境(特定于生产环境),config.assets.compile = true 应该会有所帮助。不建议这样做。

    首选,运行

     rake assets:precompile
    

    在每次资产管道更改之后。

    【讨论】:

      猜你喜欢
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      相关资源
      最近更新 更多