我正在学习RoR,我目前正试图在我的网站上实施一个投票系统。用户可以在论坛上登录和发表评论,然后在该论坛上提出其他意见。在节目如何使用链接/按钮更改列属性 - Ruby on Rails
<%= link_to 'Up Vote', comment_upvote_path(comment.id), method: :put %>
控制器代码
def upvote
@comment = Comment.find(params[:comment])
@comment.update_attribute('upVote', @comment.upvote + 1)
redirect_to :back
end
链接我试图无济于事评论代(comment.id)。
路线
get 'upvote', :to=>'comments#upvote'
resources :comments do
put :upvote
end
当我点击给予好评,我遇到了错误发生的情况:
无法找到与 'ID' 注释=
应用程序/控制器/ comments_controller.rb:26:'upvote' 请求
参数:
{ “_method”=> “放”, “authenticity_token”=> “HNXyufzGsXi/SZoJsa + 2uouMKVYlH6vYTHOF8iMgj6zAHO13jApk + QO33xEonkcoFgMugwYQZpSom1 + KbVRe7g ==”, “COMMENT_ID”=> “11”}
我检查和有11个ID的评论存在,所以我真的不知道是什么导致了这个错误。任何帮助将非常感谢!
是啊非常感谢你,都不敢相信,我没有看到这一点。我现在得到了:未定义的方法'+'为零:NilClass。所以我认为我应该使用某种增量方法rails对我来说已经有了。 –
@EduardoTafner:那将是因为你从0开始,默认为'nil:NilClass'。你可以使用@ comment.increment('upVote')'增加1。 –