【问题标题】:Asset helpers with inline CSS in Rails view在 Rails 视图中使用内联 CSS 的资产助手
【发布时间】:2017-04-26 19:54:23
【问题描述】:

我只是将模板代码改编为 Rails Web 应用程序。

我有这样的内联 CSS 引用图像资产:

  <div class="head" style="background-image: url('../somepath/b43.jpg');">

我想在资产管道中存储和引用图像。我以前使用过像 image_path 这样的助手,但只在 Sass 文件中使用。

如何编写类似于以下内容的代码:

  <div class="head" style="background-image: url(image_path('b43.jpg'));">

当页面被渲染时,内联 CSS(使用 Rails 资产助手)与实际图像资产文件夹路径一起发出?

现在,我刚刚得到:

  <div class="head" style="background-image: url(image_path('b43.jpg'));">

在 HTML 中。

【问题讨论】:

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


    【解决方案1】:

    您必须为此使用内联 erb 样式

    <div class="head" 
         style="background-image: url(<%= image_path('b43.jpg') %>);">
    

    【讨论】:

    • 谢谢@Iceman。我这样做并得到:&lt;div class="head" style="background-image: url:('/images/b32.jpg');"&gt;。我需要参考/assets/background/b32-somefingerprint.jpg。我的 ERB 中的其他 image_tag 助手正确引用了资产路径(例如,image_path "avatar1.jpg" 产生 /assets/avatars/avatar1-somefingerprint.jpgimage_path "b1.jpg" 产生 /assets/blog/b1.jpg)。我错过了什么?
    • 好吧,资产助手应该会自动引用正确的文件。
    • 你说你需要/assets/background,如果图片在background文件夹中你需要image_path('background/b32.jpg')
    猜你喜欢
    • 1970-01-01
    • 2015-11-08
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多