destroyのコードを追う。

いよいよ最後のメソッドまできた。今度は削除(Destroy)へのリンクをクリックした後のコードの流れ。

webブラウザ

一覧表示(list)ページで、Destroyへのリンクをクリックすると下記ページが表示される。

http://localhost:3000/softwares/list

コントローラsoftwares_controller.rb

削除確認の警告ウィンドウは、list.rhtmlのlink_toの構文で設定されている。(:confirm => 'Are you sure?'の部分)
また、:post => trueとすることで、このdestroyへのリンクはpost扱いになるようだ。

link_to 'Destroy', { :action => 'destroy', :id => software }, :confirm => 'Are you sure?', :post => true


削除確認の警告ウィンドウでOKを押した時だけ、destroyメソッドが呼び出される。

  def destroy
    Software.find(params[:id]).destroy
    redirect_to :action => 'list'
  end
ビュー

redirect_to :action => 'list'によって、listメソッドを実行して、list.rhtmlで再描画する。これは既にチェックしているのでOK。