Rails - html块的条件显示

时间:2016-09-02 14:28:48

标签: ruby-on-rails ruby-on-rails-5

在我的观看中,我使用1个表单,其中包含一个呈现注释的块。我不想在创建新记录时运行它。所以,我尝试了这样的条件......

<% unless @annotation_id.nil? %>
<hr>
<div class="row">
  <div class="col-md-8">
    <h4>Comments</h4>
    <%= render @annotation.comments %>
  </div>

  <div class="col-md-4">
    <%= render 'comments/form' %>
  </div>

</div>
<% end %>

然而,这导致永远不会显示块 - 同样在注释记录存在时。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您没有表明您实际上已将@annotation_id设置为某些内容。

更简单的方法可能是使用.new_record?方法,例如:

<% unless @annotation.new_record? %>
  ...
<% end %>

答案 1 :(得分:0)

使用if @annotation.persisted?unless @annotation.new_record?