LoginSignup
0
0

More than 5 years have passed since last update.

もそ、プログラミングを学ぶ【Ruby on Rails】〜奥義!コントローラの継承〜

Last updated at Posted at 2019-04-17

土日はしっかりバッチリ休息を取り、学習を再開させた もそ。
心身ともにリフレッシュして、これで勉強もスピードアップ!...なんてウマい話にはならず、頭を抱えながらカリキュラムと睨めっこをしています。

コントローラの継承とは?

さて今日は、この無駄に語感のかっこいい"コントローラの継承"について書いていきます。
なんかゲーム後半の、師匠から主人公への必殺技伝授みたいですよね(?)

コントローラについては以前まとめたMVCについてこちらをご参照ください。

コントローラはルーティングの指示に従って、アクション(処理)した結果をビューに渡す役割があります。
そして継承とは、継承元である他のオブジェクトのメソッドや特徴を引き継ぐことです。

図でもう少し視覚的に説明していきますね。
継承元となるコントローラから、メソッドや特徴を引き継ぐとします。

無題1148.jpeg

そうすると、引き継いだ方は元のコントローラで定義された特徴やメソッドを使うことができます。
要はパワーアップする感じです。

無題1148 2.jpeg

ざっくりとしたイメージですが、これがコントローラの継承です。
コントローラの継承をすることで、たとえばあるAのメソッドと特徴をもった特定のコントローラだけにbefore_actionの処理をすることも可能です。
逆に言えば、すべてのコントローラに共通した処理を行いたいときは継承元のコントローラに書き込むことで機能をもたせます。

つまり上の図で言うところの師匠コントローラにある処理を実行すれば、弟子コントローラたちすべてがそのメソッドなどを継承します。

--
いかがでしょうか?
相変わらずプログラミングには苦戦しているのですが、Qiitaに載せる用のイラストを短時間で描いて文を書いているうちに、若干イラストと文章のクオリティが上がっている気がします...
こういうのを本末転倒というのでしょうか...

イラストの質も上げつつ、プログラミングもしっかり理解をしていきたいです。
もそにもプログラミングを瞬時に理解できる機能を継承できたらいいのになあ。続く。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0