【问题标题】:Background image not working in rails style.css on production背景图像在生产中的 rails style.css 中不起作用
【发布时间】:2019-05-01 06:27:16
【问题描述】:

背景图像样式在本地工作正常,因为语言环境没有digest,但在生产中,assets:precompile 之后,所有资产都添加了指纹,并且在 Rails 4 中没有未消化的资产名称。因此,

background-image: url('abc.png')

不起作用。

有什么办法可以让背景图片在assets:precompile之后工作?

【问题讨论】:

    标签: css ruby-on-rails ruby-on-rails-4 sprockets rails-assets


    【解决方案1】:

    在 CSS 中使用

    background-image: url(<%= asset_path 'abc.png' %>)
    

    https://guides.rubyonrails.org/asset_pipeline.html#css-and-erb

    在 Sass 中

    image-url("abc.png") 
    image-path("abc.png")
    

    https://guides.rubyonrails.org/asset_pipeline.html#css-and-sass

    【讨论】:

    • 但为此我需要 style.scss.erb 问题是我在 app/assets/stylesheets/ 中只有 style.scss/
    • 第二个选项不需要.erb
    • 我在 Rails 6 上得到了SassC::SyntaxError: Error: Invalid CSS after "...und-image: url(": expected expression (e.g. 1px, bold), was "&lt;%= asset_path 'abc"
    【解决方案2】:

    试试这个。文件扩展名应为scss,不能在css文件中使用。

    background-image: url(asset_path('abc.png'));
    

    【讨论】:

      【解决方案3】:

      我会确保您的文件名没有空格。这就是我的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-08
        • 1970-01-01
        • 1970-01-01
        • 2011-11-07
        • 2016-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多