Controllerで使う同じコードはbefore_actionでまとめてしまえばいい。

 

@user = User.find(params[:id])

 

↑これ、あまりにもControllerでつかうから、うっとうしいじゃないですか?

ということで、プライベートメソッドで、@user = User.find(params[:id])をつかうアクションが発動するときに最初につかわれるようなメソッドをつくればいいのです。

ということで、以下のように記述します。

 

 

今回の場合、show, edit, update, destroyの4つのアクションが発動する前に、before_actionとして、プライベートメソッドとして定義したset_userを使うようにしました。

こうすることで、よくControllerで使う@user = User.find(params[:id])を何回も書かずに済みます。

めでたしめでたし!