在关联属性上使用if语句

时间:2014-08-05 15:10:55

标签: ruby-on-rails ruby associations nested-forms

我正在尝试构建我的编辑表单,以便当相关图像具有参数状态=='之前'图像显示,但如果没有图像,则显示file_field,以便可以上传图像

协会

Portfolio has_many :portfolio_images
PortfolioImage belongs_to :portfolio

编辑表格

<%= f.fields_for :portfolio_images do |i| %>

  <!-- Before Image -->
  <% if i.object.status == 'Before' %>
    <div class="form-group">
      <%= i.label 'Before' %><br>
      <%= image_tag(i.object.image_url(:thumb)) %><br>
      <label>
        <%= i.check_box :_destroy %>
        Remove Image
      </label>
    </div>
  <% end %>
<% end %>

不知怎的,我需要说别的show file_field。所以,如果没有portfolio_image.status ==&#39;之前&#39;但是如果portfolio_id存在则会显示此file_field,以便我可以使用图像更新投资组合

赞赏任何指针

由于

1 个答案:

答案 0 :(得分:0)

我想你知道解决方案,即

<div class="form-group">      
  <% if i.object.status == 'Before' %>
      <%= i.label 'Before' %><br>
      <%= image_tag(i.object.image_url(:thumb)) %><br>
      <label>
        <%= i.check_box :_destroy %>
        Remove Image
      </label>
  <% else %>
      <%= i.file_field :file %>
  <% end %>
</div>