Ruby on Rails Ⅲ 2章 scaffoldのコードに近付けよう(1)〜before_action
20170225@home Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
目次
before_action
scaffoldで作られたコントローラから学ぶ。
scaffoldで作られたコントローラ内のアクションで、
@note = Note.find(params[:id])
が無く、いきなり@note
を使っている。なぜこんなことができるのかを解説。
各アクションで同じように@note
を定義していると重複なので、一つのメソッドset_note
にまとめる。
def set_note @note = Note.find(params[:id]) end
これを、
before_action:set_note
で呼び出すと、全てのアクションの最初でset_noteが呼ばれる。
「全てだとちょっと・・・」というときには
before_action:set_note, only: [:show, :edit. :update, :destroy]
set_noteはprivateで定義する。
明日も仕事なので、今日は少しで。
今回の勉強時間:12分 累計勉強時間:7時間55分