タイトル、本文、著者を持つ Post モデルがあります。ユーザーが投稿を削除しようとするたびに、投稿の作成者名を尋ねる必要があり、指定された作成者名が同じ場合は投稿を削除できる機能を有効にしたいと考えてpost.author
います。
必要な手順をご案内します。アクションを作成しようとしましたauthor_destroy
が、Post インデックス内でそのアクションを見つけることができません。
注:モデルauthor
の代替としてフィールドを使用しています。User
タイトル、本文、著者を持つ Post モデルがあります。ユーザーが投稿を削除しようとするたびに、投稿の作成者名を尋ねる必要があり、指定された作成者名が同じ場合は投稿を削除できる機能を有効にしたいと考えて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 コントローラーの destroy アクションは次のようになります。
def destroy
Post.find(params[:id]).destroy if @user == post.author
redirect_to posts_path
end