プログラミングのゴミ箱

日々の学習の中で知らなかったことについて、調べたことを解説します。

railsのbefore_actionについて解説

before_actionとは?

before_actionを使うことでコントローラのアクションが実行される前に別のメソッドを実行できる。

before_action :hoge

def index
...
end

def hoge
...
end

このようなコードがあったとき、indexアクションが実行される前に先にhogeが実行される。


"onlyオプション"

onlyオプションを付けることで特定のアクションのときにだけメソッドを実行できる。

before_action :hoge, only; [:fuga1, :fuga2]

def fuga1
...
end

def fuga2
...
end

def fuga3
...
end

def hoge
...
end

このようにするとfuga3アクションが実行されるときにはhogeメソッドが実行されない。