よちよち.rbでコントローラーのアクションについて学びました

第13回よちよち.rbに参加しまして、今日は主にControllerの動きを学びましたので、内容を纏めたいと思います。

教材

第2章 デモアプリケーション | Rails チュートリアル 2.2.2 MVCの挙動 あたり

学んだこと

RESTについて

コラム2.2REpresentational State Transfer (REST)のあたりから、RESTという単語が出てきました。
URLによって何をするのか(しているのか)分かりやすくするもの、みたいな感じかなと思いましたが、正直、正体がよく分からなかったです。
よちよちの中でも答えは出ず、名著「Amazon.co.jp: Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus): 山本 陽平: 本」の読書会をしましょうか、という話になりました。
こちらの本は持っているし、一応読んだはずなのですが、、、改めて読みたいと思います。

Controllerの動きについて

リスト2.4 デモアプリケーションのユーザーindexアクションを整理したもの。を見てみると、indexのアクションで定義されているのは、@users = User.allだけなんですよね。
一方で、図2.11RailsにおけるMVCを見る限り、Controllerはmodelからデータを取得するだけではなく、Viewを呼び出して、ViewからHTMLを受け取り、そしてFireFoxにHTMLを渡すところまでやっています。

@users = User.allがmodelからデータを取得する、っていうのは多分そうなんだろうな、と思えますが、Viewにデータを渡してHTMLを受け取るっていうのが、ここに書いてあるとはとても思えない。
となると、継承しているApplicationControllerとかに秘密があるのかな、と思って調べてみようと思いましたが、ちゃんと追うことは出来ませんでした。。。。

なので、その疑問をよちよち内でぶつけたところ、
アクションからテンプレートを呼び出す - Ruby on Rails入門
こちらのリンクを紹介して頂きました。

要するに、Railsで何かのアクションが呼ばれた場合、基本デフォルトで「アクション名.html.erb」を読みに行くみたいですね。
(※正確には「.」の前がアクション名と一致していれば良いみたいなので、「.html.erb」でなくても良いみたいですが)

この辺りが噂に聞く、Railsの規約とも関わるのでしょうか。まだ何となくルールが分かっただけなので、引き続き理解を深めていきたいと思います。

その他参考になったこと