0

我已经为显示页面中的内联表单topics_controller.rb创建了一个新的@reply实例变量。

def show
  @topic = Topic.find(params[:id])
  @replies = @topic.replies
  @reply = @topic.replies.new
end

现在,当我循环@replies显示现有回复并设置其样式时,由于控制器中回复的新实例,会出现一个空 div。

<% @replies.each do |reply| %>
    <div class="reply span8">
      <%= reply.body %>
    </div>
<% end %>

我该如何解决这个问题并隐藏@topic.replies.new实例不显示?

4

2 回答 2

1

尝试这个:

<% @replies.each do |reply| %>
  <% next unless reply.body %>
    <div class="reply span8">
      <%= reply.body %>
    </div>
<% end %>
于 2013-08-11T08:04:30.507 回答
0

您可以轻松地直接创建新实例:

def show
  @topic = Topic.find(params[:id])
  @replies = @topic.replies
  @reply = Reply.new(topic_id: params[:id])
end
于 2013-08-11T08:24:37.220 回答