所以我试图使用以下路线:
<%= link_to like_post_path(@post), :method => :put do %>
但我不知道为什么使用GET
方法代替PUT
No route matches [GET] "/posts/1/like"
对我来说毫无意义..
myroutes.rb:
resources :posts do
member do
put "like" => "posts#upvote"
put "dislike" => "posts#downvote"
end
答案 0 :(得分:3)
您使用的是正确的格式,您的代码应该生成如下内容:
<a data-method="put" href="...">
从您的路线错误消息我们可以得出结论,它不是使用POST
_method=put
参数发送的。所以,问题必须是你没有包含jQuery和Rails jQuery扩展javascript文件。
一个简单的解决方法是在你的页面中加入application.js
文件(默认包含jquery和rails js扩展名)。
答案 1 :(得分:0)