我的控制器索引视图的背景图像未在 rails 4 应用程序中加载?
Posted
技术标签:
【中文标题】我的控制器索引视图的背景图像未在 rails 4 应用程序中加载?【英文标题】:My background image for my controller index view is not loading in rails 4 app? 【发布时间】:2014-08-31 17:15:23 【问题描述】:我有一个欢迎控制器和一个welcome.css.scss 布局。在欢迎布局中有这样的代码:
body
background-image: url("/assets/images/sampleimage.jpeg");
background-repeat: no-repeat;
在资产/图像中,我有一张名为 sampleimage.jpeg 的图片,我想将其作为欢迎索引视图的背景。
我拥有以上所有内容,但我没有收到背景图片或错误消息。感谢您的帮助。
【问题讨论】:
【参考方案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? 只有一分钟我才尝试过一次,是的,我只是仔细检查了一遍。以上是关于我的控制器索引视图的背景图像未在 rails 4 应用程序中加载?的主要内容,如果未能解决你的问题,请参考以下文章