1

時間の経過とともにユーザーによって status_updates が入力されるテーブルを作成しました。各ステータスは個別に削除できます。

これは、status_update_controller で destroy メソッドを呼び出し、correction_user と呼ばれるプライベート メソッドで特定の status_update を識別することによって実現されます。

したがって、基本的には次のようになります。

私のstatus_update_controllerの上部に

before_filter :correct_user, only: :destroy

破棄方法

def destroy
    @status_update.destroy
    redirect_to root_url
end    

およびプライベートの正しいユーザー メソッド

private

    def correct_user
      @status_update = current_user.status_update.find_by_id(params[:id])
      redirect_to root_url if @status_update.nil?
    end  

私の質問はこれです:

特定のユーザーのすべての status_updates を選択し、ボタンまたはリンクを使用してそれらを破棄するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

0

StatusUpdatesController次のようにアクション内で定義します。

def delete_all
  current_user.status_updates.delete_all
end

このアクションにもルーティングする必要があります。

resources :status_updates do
  collection do
    delete :delete_all
  end
end

ボタンを作成するには:

button_to "Delete the everything", delete_all_status_updates_path, :method => :delete
于 2012-11-08T04:40:43.977 に答える