0

我正在尝试添加acts_as_votable 以在我的rails 5 应用程序上发表评论。gem 安装得很好,我添加了两个迁移(ActsAsVotable 和 AddCachedLikesToVotes),然后CommentsController我添加了:

def like
  @post = Post.find(params[:post_id])
  @comment = @post.comments.find(params[:id])
end

def vote
  if !current_user.lked? @comment
    @comment.liked_by current_user
  elsif current_user.liked? @comment
    @comment.unliked_by current_user
  end
end

然后我将此添加到我的评论部分视图中:

<%= link_to like_post_comment_path(@post, comment), class: "like-btn", method: :put, remote: :true do %>

我的错误是针对上述行。它是这么说的:

没有路线匹配 {:action=>"vote", :controller=>"comments", :id=>nil, :post_id=>"1"} 缺少必需的键:[:id]

是正确的like_post_comment_path,我尝试了 , , 等之间的不同变化(@post, comment)(@comment.post_id, comment)(@post, @comment)没有任何效果!

4

1 回答 1

0

尝试这个

<%= link_to like_post_comment_path(comment, poste_id: @poste.id), class: "like-btn", method: :put, remote: :true do %>
于 2017-01-23T20:03:07.487 回答