不确定为什么这条线无效
CONTROLLER
@images = {
"Example1" => "ExampleA",
"Example2" => "ExampleB",
}
查看
<% @images.each do |image, caption| %>
<div class ="fill" style="background-image: url(<%= asset_path '#{image}.jpg' %>);">
<div class="caption">
<h2><%= "#{caption}" %></h2>
</div>
</div>
<% end %>
当我查看输出时,以某种方式为背景图像呈现的HTML是:
<div class="fill" style="background-image: url(/#{image}.jpg);">
作为一般惯例,我的理解是插值标记(&lt;%或&lt;%=)应尽可能接近Ruby代码(例如,在HTML标记内,或在背景示例中 - image:上面的网址)
答案 0 :(得分:0)
插值使用双引号,而不是单引号。
更改
style="background-image: url(<%= asset_path '#{image}.jpg' %>);"
要
style='background-image: url(<%= asset_path "#{image}.jpg" %>);'
或
style="background-image: url(<%= asset_path image %>.jpg);"