简单的评论输出

时间:2012-11-22 19:52:04

标签: ruby-on-rails ruby

在我的控制器中我有:

def show
  @entry = Entry.find(params[:id])
  @comments = @entry.comments
end

现在在视图中:

<% if !@comments.empty? %>
  <% @comments.each do |comment| %>
    <%= comment.id %>
  <% end %>
<% end %>

我知道@comments不是空的,但我知道@comments.empty? == true 当我在<%= @comments %>语句之前添加if时,一切正常。 empty?false,我收到了评论ID。当我添加这个新行时,看起来像运行查询的查询?知道为什么以及如何在没有这条额外线的情况下使其工作?

2 个答案:

答案 0 :(得分:4)

为什么你需要这个陈述?

这将有效

  <% @comments.each do |comment| %>
    <%= comment.id %>
  <% end %>

答案 1 :(得分:1)

永远不要使用if !。而是使用unless

在这里你根本不需要一个空的检查声明。 .each仅在存在某些值时进行迭代。