所以最初我在视频视图中有这样的结构:
<% @video.comment_titles.each do |comment_title| %>
<%= comment_title.title %>
<% comment_title.comments.each do |comment| %>
<%= comment.body %>
<% end %>
<% end %>
这很好用,因为当用户添加评论时,他们选择了一个评论标题,然后将其添加到该标题中,然后将所有属于标题的评论添加到该标题中。但是,我现在想把评论放到一个部分,所以我做了类似的事情:
<% @video.comment_titles.each do |comment_title| %>
<%= comment_title.title %>
<% comment_title.comments.each do |comment| %>
<%= render @video.comments %>
<% end %>
<% end %>
我将所有评论生成放入comments / _comment.html.erb
然而,这并没有添加评论,因为我打算添加它们。所有评论标题都会添加评论,即使它们只属于一个评论标题。
所以我的问题是如何在注释目录中将注释的创建移动到局部,同时保持我的视觉结构不变?
答案 0 :(得分:2)
你的意思是:
<% @video.comment_titles.each do |comment_title| %>
<%= comment_title.title %>
<%= render comment_title.comments %>
<% end %>
答案 1 :(得分:2)
那是因为你将视频评论的所有 - @video.comments
- 传递给了部分。变化:
<%= render @video.comments %>
为:
<%= render comment %>