【问题标题】:My background image for my controller index view is not loading in rails 4 app?我的控制器索引视图的背景图像未在 rails 4 应用程序中加载?
【发布时间】:2014-08-31 17:15:23
【问题描述】:

我有一个欢迎控制器和一个welcome.css.scss 布局。在欢迎布局中有这样的代码:

body {
background-image: url("/assets/images/sampleimage.jpeg");
background-repeat: no-repeat;
} 

在资产/图像中,我有一张名为 sampleimage.jpeg 的图片,我想将其作为欢迎索引视图的背景。

我拥有以上所有内容,但我没有收到背景图片或错误消息。感谢您的帮助。

【问题讨论】:

    标签: css ruby-on-rails ruby views


    【解决方案1】:

    既然你用的是SCSS,那我给你一些想法……

    --

    资产路径

    首先,你需要asset_path helpers,允许Rails调用资产,无论它们是在标准的“资产管道”中,还是在预编译的“静态”资产区域中

    您遇到的直接问题是您在background-image 属性上调用了一个裸url。这不会调用你需要的文件,因为路径是相对的,所以不能调用(尝试从浏览器访问/assets

    方法如下:

    #app/assets/stylesheets/welcome.css.scss
    body {
       background: {
          image: asset-url("sampleimage.jpeg");
          repeat: no-repeat;
       }
    }
    

    asset-url 路径是可能的,因为 Rails 资产管道的 SCSS/SASS 元素 preprocesses 您的资产请求

    【讨论】:

    • 它仍然给出错误“找不到逻辑路径”和“找不到文件'sampleimage.jpeg'”它还说要解决链轮问题。
    • Sprockets::FileNotFound at / 找不到文件“sampleimage.jpeg”(在 /app/assets/stylesheets/welcome.css.scss.erb 中)
    • 引发 FileNotFound,“找不到文件 '#{logical_path}'”
    • 不要将 .erb 放在文件末尾 - 您是否包含并安装了 sprockets gem?
    • 只有一分钟我才尝试过一次,是的,我只是仔细检查了一遍。
    猜你喜欢
    • 1970-01-01
    • 2018-02-04
    • 2017-11-15
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多