[英]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.