我有一个4条评论的列表,我想迭代到一个有序列表中,以创建4行评论。
我的ERB部分:
<ol>
<% @post.comments.each do |c| %>
<li><%= c.body %></li>
<% end %>
</ol>
但是,当它在页面上呈现时,它看起来如下:
1. Foo
2. Bar
3. Baz
4. Foobar
5.
似乎是在循环周期结束时添加了一个额外的空元素。
我如何遍历数组似乎是什么问题?
答案 0 :(得分:0)
请检查您与帖子相关的评论数量,如下所示
@post.comments.count
将有5条记录。删除最后一个,并在下面的评论模型中添加验证,
validates_presence_of :body
这应该防止它产生空白记录。如果情况不是这样,请告诉我。
答案 1 :(得分:0)
经过一番挖掘后,我找到了答案。
在我的问题中,我没有提到我在列出评论的同一页面上也有form_for
个新评论。
在我的Post
控制器上,我已将其设置为@comment = @post.comments.new
。这反过来又为@post
的该视图创建了一个空的,未保存的评论。因此,在该操作上,我将其更改为通用@comment = Comment.new
,然后手动传递最终需要进行关联的id
。我不知道那是不是最好的&#34;方式,但这是它对我有用的方式。