私のレール5アプリの投稿コメントにacts_as_votableを追加しようとしています。 宝石が、細かいインストール私は2つのマイグレーション(ActsAsVotableとAddCachedLikesToVotes)を添加し、私のCommentsController
に私が追加されました:私はその後、私のコメント部分図にこれを追加acts_as_votableエラールートと一致するルートがありません5
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)
、などと何も動作します!
をお試しください'(@post、@comment)'がまだ動作しないと仮定すると、あなたの@comment変数は定義されていません。デバッグして、 '@ comment'または' comment'の値を確認してください。 – mmichael
コントローラに定義されていますか?私はそれが定義されているとはかなり確信していますが、私は間違っている可能性があります。 – DianaBG
コメント[:id]がないようですが、それが存在するかどうかを確認する方法がわかりません。私はエラーなしでユーザーとしてコメントを作成できたので、それができたと思いました。 – DianaBG