我正在学习RoR,我目前正在尝试在我的网站上实现一个上票系统。用户可以登录并在论坛上发布评论,然后在该论坛上更新其他评论。
控制器代码
def upvote
@comment = Comment.find(params[:comment])
@comment.update_attribute('upVote', @comment.upvote + 1)
redirect_to :back
end链接在显示中
<%= link_to 'Up Vote', comment_upvote_path(comment.id), method: :put %>我试着用评论代替(comment.id),但没有结果。
路由
get 'upvote', :to=>'comments#upvote'
resources :comments do
put :upvote
end当我单击“向上投票”时,会发生以下错误:
找不到'id'=的注释
app/控制器/注释_Controller.rb:26:在“向上投票”请求中
参数:
{"_method"=>"put","comment_id"=>"11"}
我检查了并有一个id为11的注释存在,所以我真的不知道是什么导致了这个错误。任何帮助都是非常感谢的!
发布于 2016-12-14 01:52:59
从表面上看,:comment应该是:comment_id。
@comment = Comment.find(params[:comment_id])发布于 2016-12-14 02:47:24
put :upvote应该是
put :upvote, on: :memberhttps://stackoverflow.com/questions/41133535
复制相似问题