Primero, creemos el parcial de comentario para extraer el mostrar de todos los
comentarios del artículo. Crea el archivo app/views/comments/_comment.html.erb
y coloca lo siguiente:
<p>
<strong>Commenter:</strong>
<%= comment.commenter %>
</p>
<p>
<strong>Comment:</strong>
<%= comment.body %>
</p>
Luego puedes cambiar app/views/posts/show.html.erb
para que se vea de esta
manera:
<p>
<strong>Title:</strong>
<%= @post.title %>
</p>
<p>
<strong>Text:</strong>
<%= @post.text %>
</p>
<h2>Comments</h2>
<%= render @post.comments %>
<h2>Add a comment:</h2>
<%= form_for([@post, @post.comments.build]) do |f| %>
<p>
<%= f.label :commenter %><br />
<%= f.text_field :commenter %>
</p>
<p>
<%= f.label :body %><br />
<%= f.text_area :body %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<%= link_to 'Edit Post', edit_post_path(@post) %> |
<%= link_to 'Back to Posts', posts_path %>
Ésto hará que el parcial en app/views/comments/_comment.html.erb
se haga
render una vez por cada comentario en la colección @post.comments
. A medida
que el método render
itera sobre la colección @post.comments
, asigna cada
comentario a la variable local llamada igual que el parcial, en este caso
comment
que luego está disponible en el parcial para que la usemos.