其他解決方案在這裏沒有工作,所以我發佈了一個新問題。我使用acts_as_votable爲上下上的鏈接投票,但是當我嘗試實際投票我得到的錯誤:沒有路線匹配[GET]「/ links/1/like」acts_as_votable
No route matches [GET] "/links/1/like"
這是我的看法是什麼樣子:
<%= link_to like_link_path(link), method: :put, class: "btn btn-default btn-sm" do %>
<span class="glyphicon glyphicon-chevron-up"></span>
Upvote
<%= link.get_upvotes.size %>
<% end %>
<%= link_to dislike_link_path(link), method: :put, class: "btn btn-default btn-sm" do %>
<span class="glyphicon glyphicon-chevron-down">
Downvote
<%= link.get_downvotes.size %>
<% end %>
這是我的路線是這樣的:
resources :links do
member do
put "like", to: "links#upvote"
put "dislike", to: "links#downvote"
end
end
我看到我的客戶正試圖訪問get方法,但我明確地調用method: :put
在我dex.html.erb文件。
你知道它爲什麼試圖訪問get以及如何覆蓋它嗎?
做downvote,並給予好評的動作都需要放在請求有關係嗎?我只是想知道它是如何爲我自己的理解而工作的,我在採取行動方面遇到了一些麻煩。 – Jbur43
如果您要在自己的控制器中定義動作,則可以使用您喜歡的任何路線。我使用我在我工作的應用程序中提供的路線,因爲這是一個「切換」投票的單一操作。你可以使用任何你想要的方法。 –