嵌入式Ruby没有被插值

时间:2014-04-18 19:43:57

标签: view ruby-on-rails-4 erb

不确定为什么这条线无效

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:上面的网址)

1 个答案:

答案 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);"