我有一个帖子模型,它有标题、正文和作者。我想启用一个功能,每当用户尝试删除帖子时,它应该询问帖子的作者姓名,如果指定的作者姓名与此相同,post.author
那么他/她可以删除帖子,否则它不应该。
请指导我完成我需要遵循的步骤。我试图创建一个author_destroy
动作,但它失败了,因为它无法在 Post 索引中找到该动作。
注意:我使用author
字段作为User
模型的替代品。
我有一个帖子模型,它有标题、正文和作者。我想启用一个功能,每当用户尝试删除帖子时,它应该询问帖子的作者姓名,如果指定的作者姓名与此相同,post.author
那么他/她可以删除帖子,否则它不应该。
请指导我完成我需要遵循的步骤。我试图创建一个author_destroy
动作,但它失败了,因为它无法在 Post 索引中找到该动作。
注意:我使用author
字段作为User
模型的替代品。
首先,我建议只向帖子的作者显示删除功能,并为所有其他用户隐藏它,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