【问题标题】:Why do my assets load incorrect CSS styles?为什么我的资产加载了不正确的 CSS 样式?
【发布时间】:2013-06-28 19:27:46
【问题描述】:

在“app/assets/stylesheet/application.css.scss”我有以下代码:

 /*
 *= require_self
 *= require_tree .
 */

然后我有“styles.css.scss”,其中有我的应用程序的所有代码。

我的本​​地主机上的预编译资产存在问题,应用程序从“styles.css.scss”和“application.css.scss”两个文件加载 CSS 规则。

当我检查具有不正确 CSS 规则的元素时,我看到 CSS 规则是从“styles.css.scss”和“application.css.scss”加载的。但是,“application.css.scss”是空的,那么这个文件怎么可能有CSS规则呢?

我也尝试过删除目录“public/assets”,但没有帮助。

我该如何解决这个问题?我已经为此工作了几个小时,但没有任何进展。

【问题讨论】:

  • 您如何将这些加载到您的appliction.html.erb
  • 这边:= stylesheet_link_tag "application", :media => "all"
  • 我假设您在development 模式下会发生这种情况?
  • 是的,它发生在本地主机上。
  • 虽然我怀疑这是不是答案,但当您使用 require_tree 时,您无法保证文件的处理顺序。

标签: css ruby-on-rails ruby assets


【解决方案1】:

默认情况下,在开发模式下,config/environments/development.rb 中有以下内容:

# Do not compress assets
config.assets.compress = false

# Expands the lines which load the assets
config.assets.debug = true

“在开发模式下,资产按照清单文件中指定的顺序作为单独的文件提供。” (来源:http://guides.rubyonrails.org/asset_pipeline.html)。

如果您将config.assets.debug 设置为false,那么所有样式(在这种情况下)将被组合并放入application.css。但是将config.assets.debug 设置为true,您的application.css 将为空,除非您在那里指定了一些css 规则。

希望我没有误解你的问题:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 2022-11-11
    • 2017-12-09
    相关资源
    最近更新 更多