我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
实例不显示?
答案 0 :(得分:1)
试试这个:
<% @replies.each do |reply| %>
<% next unless reply.body %>
<div class="reply span8">
<%= reply.body %>
</div>
<% end %>
答案 1 :(得分:0)
您可以直接轻松创建新实例:
def show
@topic = Topic.find(params[:id])
@replies = @topic.replies
@reply = Reply.new(topic_id: params[:id])
end