MENU

同じコードをメソッドにまとめる方法〜rails〜

before_action

class コントローラ名 < ApplicationController
  before_action :処理させたいメソッド名

onlyやexceptなどのオプションを使用することで、実行前に、処理を実行させるかなど制限が可能。

class コントローラ名 < ApplicationController
  before_action :set_item, only: [:edit, :show]

  def edit
  end

  def show
  end

  private

  def set_item
    @item = Item.find(params[:id])
  end
end

こんな感じで使います。 コードが見やすくなりますね。