0

タイトル、本文、著者を持つ Post モデルがあります。ユーザーが投稿を削除しようとするたびに、投稿の作成者名を尋ねる必要があり、指定された作成者名が同じ場合は投稿を削除できる機能を有効にしたいと考えて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 コントローラーの destroy アクションは次のようになります。

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