使用rails中的资产管道的内联样式

时间:2017-11-16 03:31:00

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



<%= link_to root_path do %>
    <div class="">
        <div style="background-image:<%= image_tag " image1.png "%>">
    </div>

    <div>
      <h2>Title</h2>
      <p>Paragraph</p>
    </div>
  </div>
<% end %>
&#13;
&#13;
&#13;

我想从资产管道中提取图像作为我的背景。 我可以在.sass文件中做到这一点。但我为每个人制作了一个模板,并认为输入每张照片会更容易。

<div style="background-image:<%= image_tag "image1.png"%>">  这就是我对语法的确定性。

3 个答案:

答案 0 :(得分:1)

替换function RowDown(){ var direction = 1 // 1 or -1 var record = Ext.getCmp('Settings_SetTreatmentList_TreatmentDetail_List').getSelection()[0]; //list id if (!record) { return; } var index = Ext.getCmp('Settings_SetTreatmentList_TreatmentDetail_List').getStore().indexOf(record); if (direction < 0) { index--; if (index < 0) { return; } } else { index++; if (index >= Ext.getCmp('Settings_SetTreatmentList_TreatmentDetail_List').getStore().getCount()) { return; } } Ext.getCmp('Settings_SetTreatmentList_TreatmentDetail_List').getStore().remove(record); Ext.getCmp('Settings_SetTreatmentList_TreatmentDetail_List').getStore().insert(index, record); } ,它会为您提供image_path标记,以便为您提供img文件的路径,尝试使用image1

image_path

答案 1 :(得分:1)

如果您决定使用非内联样式,那么您也可以在.scss中使用image-path

在html.erb

<div class="custom-background"></div>

at .scss

.custom-background {
 background-image: image-path('image1.png');
}

答案 2 :(得分:0)

如果您使用资产管道解释ERB,那么asset_path 'image.png'将返回位于其中一个资产加载路径中的图像的完整路径,然后您可以在{{1}中使用}}。因此,您的内联url()可能如下所示:

div

参考:CSS and ERB(请注意<div style="background-image: url(<%= asset_path 'image1.png' %>)"> 帮助中的underscore (_)

如果您使用asset_path,以下帮助将帮助您更简洁:

  • Sass返回image-url("rails.png")
  • url(/assets/rails.png)返回image-path("rails.png")

也可以使用更通用的形式:

  • "/assets/rails.png"返回asset-url("rails.png")
  • url(/assets/rails.png)返回asset-path("rails.png")

参考:CSS and Sass(请注意上面帮助者中的"/assets/rails.png"