before_action
毎回行う処理はまとめて記述できる
例えば、show,edit,update,destoryアクションで毎回同じ処理を書いていたとする。
このような場合はrailsのDRYの精神に基づいて無駄を省いていく。
before_action
これはアクションを実行する前に必ず実行してくれる関数。今回は以下のような処理が複数あったのでまとめてみた。
@project = Project.find(params[:id])
この処理をbefore_actionにかく。
before_action :set_project,only:[:show,:edit,:update,:destroy]
set_projectという関数を毎回実行する。onlyオプションをつけることで、指定したアクションの前に実行される。
set_projectはprivate関数として定義し、その関数内にまとめたい処理を書いておけばOK