Edita app/views/topics/index.html.erb
para que el ciclo final se vea como esto:
<% @topics.each do |topic| %>
<tr>
<td><%= topic.title %></td>
<td><%= topic.description %></td>
<td><%= pluralize(topic.votes.count, "vote") %></td>
<td><%= button_to '+1', upvote_topic_path(topic), method: :post %></td>
<td><%= link_to 'Show', topic %></td>
<td><%= link_to 'Edit', edit_topic_path(topic) %></td>
<td><%= link_to 'Destroy', topic, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
-
pluralize(topic.votes.count, "vote")
muestra el número de votos que tiene el tema, mas la palabra 'vote' o 'votes' correspondiente.
-
button_to '+1'
crea un botón html con el texto '+1'.
-
topic_upvote_path(topic)
crea la URL apropiada para la acción que queremos invocar. En este caso, queremos aumentar la cantidad de votos del tema actual.
-
topic_upvote_path(topic)
regresaría /topics/42/upvote
(si topic.id fuera 42)
-
method: :post
asegura de que ejeutamos la acción crear del CRUD, no la acción leer.