删除评论链接无效(acts_as_commentable)

时间:2017-03-30 07:11:31

标签: ruby-on-rails

在我的Rails应用中,每个帖子都有一个评论部分,用户可以在其中发表评论。我希望每个评论都有一个删除链接,但我无法让它工作。我在这里使用acts_as_commentable gem。

文章/ show.html.erb

<% @comments.each do |comment| %>
  <p><strong><%= comment.user.username %></strong></p>
  <p class="comment"><%= comment.comment %><p>
  <%= link_to "Delete", [@post, comment], method: :delete %> 
<% end %>

我需要这条线的帮助

<%= link_to("Delete", [@post, comment], method: :delete %> 

comments_controller.rb

def create 
  @post = Post.find(params[:post_id]) 
  @comment = @post.comments.create(comment_params) 
  @comment.user_id = current_user.id 
end

def destroy
  @comment = Comment.find(params[:id])
  redirect_to :back
end 

感谢您的帮助! :)

2 个答案:

答案 0 :(得分:1)

您在destroy操作中根本没有销毁它,您需要添加@comment.destroy来删除数据库中的注释

def destroy
  @comment = Comment.find(params[:id]
  @comment.destroy # add this line
  redirect_to :back
end 

希望有所帮助!

答案 1 :(得分:0)

更改类似的破坏行为:

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

通过这种方式,您可以确保删除与特定帖子相关的评论。它的轨道提供了你可以看到的方式here