如果声明与任何?在rails视图中

时间:2015-07-23 01:48:14

标签: ruby-on-rails erb

我的视图文件显示micropost的答案列表是这样的。

<li class="micro-dist">
  <%= render 'shared/micropost_content', micropost: micropost %>

  <section class="answer-<%= micropost.id %>">
    <%= render 'shared/answer_form', micropost: micropost %>
  </section>

  <% if micropost.answers.any? %>
    <% answers = micropost.answers.take(5) %>
    <div class="load-more-<%= micropost.id %>" >
    <ol class="answers" >
      <%= render answers  %>
    </ol>
    <%= link_to "Load more", more_micropost_path(micropost), remote: true, class: "btn btn-info btn-sm btn-block btn-mine" %>
    </div>
  <% end %>
</li>

只有在micropost有答案时才会显示加载更多链接。但即使没有答案,它总是显示负载更多的链接。我找到了一种更好的方法来编写上面的代码,其中if语句在下面回答了变量定义。

 <% answers = micropost.answers.take(5) %>
 <% if answers.any? %>

有效。但我不明白为什么第一个没有工作。在控制台中它返回false但不在视图中?有人可以解释一下吗。提前谢谢。

0 个答案:

没有答案