Ruby on Railsでbefore_actionメソッドを使う方法を紹介します。
【Rails】before_actionメソッドの使い方
before_actionメソッドを定義することで、アクションが実行される前に処理を行ってくれます。
複数のアクションで同じような処理をしている場合は、before_actionを活用することで、コードを簡素化することができます。
1 2 3 4 5 6 7 8 9 10 11 12 | class TestsController < ApplicationController before_action :set_test def index end private def set_test @test = Test.find(params[:id]) end end |
以下のようにactionを指定して、定義することもできます。
1 | before_action :set_hoge, only: [:index] |
ただbefore_actionを使いすぎると、actionごとの変数やメソッドが一見わかりづらくなってしまう場合があります。
認証など共通して事前に処理があるものは継承元のapplication_controller.rbなどに書いておくのが良いと思います。
参考: