允许用户在rails 3中删除自己的注释

对于每个post,都有后续评论。

以下是Postcomment的模型:

class Postcomment < ActiveRecord::Base attr_accessible :comment_content belongs_to :user belongs_to :post end 

和邮政模型

 class Post < ActiveRecord::Base attr_accessible :content, :image, :comment_content belongs_to :user has_many :postcomments, dependent: :destroy end 

我想允许用户删除自己的post。 这就是我在视图中已有的内容

_postcomment.html.erb

       

如何更改以下代码以允许用户删除评论?

     

Sessions帮助器中的current_user方法

 def current_user=(user) @current_user = user end def current_user @current_user ||= User.find_by_remember_token(cookies[:remember_token]) end def current_user?(user) user == current_user end 

这是Postcomments表

  create_table "postcomments", :force => true do |t| t.text "content" t.integer "user_id" t.integer "post_id" t.timestamp "created_at", :null => false t.timestamp "updated_at", :null => false t.text "comment_content" end 

也许…

if current_user == postcomment.user

如果current_user仍然返回用户实例…

如果您只是比较用户ID可能会更好。 这也更容易调试。

 def current_user?(user) user.id == current_user.id end 

也许是这样的:

 <%= link_to("delete", postcomment.content, :method => :delete, :confirm => "You sure?", :title => postcomment.content) if postcomment.user == current_user %>