При попытке доступа к странице индекса причин
NameError in Reasons#index
Showing /home/alec/workspace/rails/nwis/app/views/reasons/index.html.erb where line #26 raised:
undefined local variable or method `upvote_reason' for #<#<Class:0x000000023d9940>:0x000000023d3298>
Extracted source (around line #26):
23: <td><%= link_to 'Show', reason %></td>
24: <td><%= link_to 'Edit', edit_reason_path(reason) %></td>
25: <td><%= link_to 'Destroy', reason, :confirm => 'Are you sure?', :method => :delete %></td>
26: <td><%= link_to "Vote up", :action => upvote_reason, :id => reason.id %></td>
27: </tr>
28: <% end %>
29: </table>
Rails.root: /home/alec/workspace/rails/nwis
Application Trace | Framework Trace | Full Trace
app/views/reasons/index.html.erb:26:in `block in _app_views_reasons_index_html_erb__2084449067598068298_18776480__4598497200926455905'
app/views/reasons/index.html.erb:16:in `each'
app/views/reasons/index.html.erb:16:in `_app_views_reasons_index_html_erb__2084449067598068298_18776480__4598497200926455905'
app/controllers/reasons_controller.rb:7:in `index'
Линия в представлении:
<td><%= link_to "Vote up", :action => upvote_reason, :id => reason.id %></td>
Метод в контроллере:
def upvote_reason
@reason = Reason.find(params[:id])
@reason.upvote += 1
@reason.save
redirect_to reason_path
end
По общему признанию, я довольно новичок в Rails, но я чувствую, что я на грани щелчка, как только я могу понять, как правильно взаимодействовать с контроллером. Если кто-то может направить меня в правильном направлении к учебнику, который хорошо освещает эту тему, я был бы рад проверить его, если это слишком простой вопрос.