检查视图外是否存在图像名称的更好方法

时间:2012-08-14 02:46:20

标签: ruby-on-rails-3 asset-pipeline

基本上我在索引视图中有一个表,如果图片名称= army.unit_name,那么它会呈现该图片。如果不是,则以文本显示图像缺失。我仍然是Rails的新手,但必须有一种方法将此条件检查放在除视图之外的其他位置。有人可以赐教吗?我是在模型中做的吗?

<% @armies.each do |army| %>
  <tr>
<% if File.exists?("/users/<name>/Ruby Projects/thrones/app/assets/images/#{army.unit_name}.png") %>
      <td><span class="picture-hover"><%= image_tag("#{army.unit_name}.png" %></span></td>
    <% else %>
      <td>Unit Card art missing</td>
<% end %>
<td><%= link_to army.unit_name, army_path(army) %></td>
  </tr>
<% end %>

1 个答案:

答案 0 :(得分:0)

你可以试试这个

...
<% if Rails.application.assets.find_asset "#{army.unit_name}.png" %>
...