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