Rails循环使用image_tag和资产文件夹

时间:2018-03-16 09:32:07

标签: ruby-on-rails

我循环浏览包含图像的模型。在循环的第一部分中,如果存在图像,则仅显示第一图像。这很好用!

循环的第二部分我想选择那些没有图像并从资产文件夹中显示图像的部分。

这就是我想要做的事情:

<% @items.each do |item|%>
<% item.attachments[0...1].each do |attachment| %>
              <%= image_tag attachment.image.url(:mini) unless attachment.image.present? %>
              <%= image_tag attachment.image("mini_no-image-available.jpg") unless attachment.image.blank? %>
 <% end %>

第一部分工作正常。但是关于第二部分,资产文件夹中的图像没有显示。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,我假设您尝试显示迷你图像,如果附件对象存在图像对象。

如果附件中没有图像对象,则表示您正在尝试显示资产目录中的静态图像。

处理相同的代码将是这样的

<% item.attachments[0...1].each do |attachment| %>
    <%unless attachment.image.present? %>
        <%= image_tag attachment.image.url(:mini) %>
    <%else%>
        <%= image_tag(asset_path("mini_no-image-available.jpg"))%>
    <%end%>
<% end %>