相変わらずふわふわした認識でRails学習を進める もそ。
あまりの理解のできなさに、日本語の文章すら解読できず眠気が襲ってきます...。
強烈な眠気と戦いつつ、今日はbefore_actionについて書いていきます。
まずは昨日のおさらい
昨日はMVCについて学びましたが、この処理の流れをまずはおさらい。
下の図は、昨日の説明図から一部を抜き出してもう一度図解しています。
ルーティングが指定した処理を、コントローラがアクションとして実行しようとしています。
controller.rbのコードが、それぞれのコントローラが実行するアクションになります。
before_actionとは?
before_actionは、コントローラが実行する優先順位の一番上に、実行したいアクションを実行します。
Railsはマークダウン形式なので、基本的にコードは上から順に下へ向かって読み込まれ、実行されます。
このとき、コントローラの記述の上に
before_action :hoge, except: :index
このように記述すると、indexアクション以外が実行される前にhogeが実行されます。
図でイメージしてみるとこんな感じ。
最初に絶対「before_action」というスイッチを先に入れる処理をしてから、コントローラがアクションを起こしますよ〜と処理するメソッド、それがbefore_actionなのです。
今後学習を進めたりアプリケーションを作ったりする際によく出てくるメソッドなので、よくよく頭に叩き込んでおきたいところ。
一向にカリキュラムが進まずRails地獄な気持ちですが、これが天国になる日は来るのでしょうか。
...もその迷走学習はまだまだ続く。