0

我有一个帖子模型,它有标题、正文和作者。我想启用一个功能,每当用户尝试删除帖子时,它应该询问帖子的作者姓名,如果指定的作者姓名与此相同,post.author那么他/她可以删除帖子,否则它不应该。

请指导我完成我需要遵循的步骤。我试图创建一个author_destroy动作,但它失败了,因为它无法在 Post 索引中找到该动作。

注意:我使用author字段作为User模型的替代品。

4

1 回答 1

1

首先,我建议只向帖子的作者显示删除功能,并为所有其他用户隐藏它,erb 中的内容如下:

<% if @user == post.author %>
<%= link_to "delete", post, :method => :delete, :confirm => "You sure?",
                            :title => "Delete #{post.title}" %>
<% endif %>

然后对于 Posts 控制器中的销毁操作:

def destroy
  Post.find(params[:id]).destroy if @user == post.author
  redirect_to posts_path
end
于 2012-10-03T21:19:59.613 回答