簡體   English   中英

訪問html.erb文件內部的循環變量

[英]Accessing loop variable inside of html.erb file

因此,我在所有文章中都有一個循環,每篇文章都有一個標語,其中包含文件名(png文件)。 使用以下代碼時,使用heroku上傳文件時遇到問題:

<% @articles.visible.each do |article| %>
  <div class="article-card" style="background-image: url(/assets/blog_headers/<%=article.banner%>);">

更具體地說,使用url部分,我設法使用此代碼在應用程序的另一部分中使其工作:

url(<%= image_url('blog_headers/blog_header.png')%>)

我現在嘗試在此處實現相同的邏輯,但是我無法從循環訪問article變量,這是我目前擁有的:

<div class="article-card" style="background-image:  url(<%= image_url('blog_headers/<%=article.banner%>')%>);"> 

一旦進入erb標記( <%= %> ),您就變成了紅寶石...您不應使用另一個嵌套的erb標記。

例如代替:

<%= image_url('blog_headers/<%=article.banner%>')%>

采用:

<%= image_url("blog_headers/#{article.banner}")%>

請注意,我還更改了單引號:將'改為雙引號"以便對字符串進行插值(並且#{}被評估為ruby)

<%= image_url('blog_headers / <%= article.banner%>')%>里面都是紅寶石。 請勿再次使用<%%>。 您可以嘗試以下方法:

<%= image_url('blog_headers/'+article.banner+'\'')%>

或嘗試以下方法:

<div class="article-card" style='background-image:  url(<%= image_url("blog_headers/#{article.banner}")%>);'> 

請注意報價。

這是您應在以下視圖上應用的方法...

<div class="article-card">
 <%= image_tag("blog_headers/#{article.banner}")%>
</div>

如果沒有任何消息文本顯示在圖像上,則可以使用上面的代碼填充圖像。

否則,通過在div標簽中分配樣式將其設置為背景圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM