2013-04-25 55 views
1

我正在创建一个应用程序,允许用户对创建的项目发布发表评论。我跟着这个Railscast来建立多态关联。多态协会 - 删除评论

每个教程的一切都很好,但我一直试图在我的评论控制器中建立一个删除方法,这样可以删除评论。我在我的评论控制器中创建了一个名为destroy的方法。

评论是在我的项目发布。部分评论是在项目页面和发布用户的页面上生成的。当我在项目页面上删除时,它工作的很好,但是当我尝试从用户页面删除时,我得到下面的结果。我该如何修复它,以便用户可以删除评论,无论他们是从项目页面还是从他们自己的用户页面中删除?

Unknown action 
The action 'show' could not be found for CommentsController 

comments_controller.rb

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

    if @comment.destroy 
     redirect_to @commentable, notice: "Comment deleted." 
    end 
    end 

_comment.html.erb

<div class="comments">   
    <p><%= comment.content %></p> 
    <span> 
    By <%= link_to comment.user.name, comment.user %> <%= time_ago_in_words(comment.created_at) %> ago 

    <div class="pull-right"> 
<%= link_to "Destroy", [@commentable, comment], method: :delete, data: { confirm: 'Are you sure?' } %> 
</div> 
    </span> 
</div> 

的routes.rb

resources :comments 

resources :projects do 
    resources :comments 
    member do 
    get :following 
    end 
end 

回答

3

尝试......

<%= link_to "Destroy", [@commentable, comment], method: :delete, data: { confirm: 'Are you sure?' } %> 
+0

还没有工作。 – spl 2013-04-25 05:56:00

+0

显示你的路线文件... – 2013-04-25 07:19:04

+0

添加到我的问题上面! – spl 2013-04-25 19:46:03