概要
Ruby on Railsのコードリーディング作業を記録する。
準備
rails new RailsCodeReadingで新規プロジェクトを作成する。- Gemfileに以下を追加
bundle config set path '.bundle'を実行してから、bundle installを実行する。rails generate controller Example- railties/lib/rails/welcome_controller.rb#L9に
binding.pryを記述する。
コードリーディング
WelcomeController#indexがどのように呼ばれるのかコードリーディングしてみる。
WelcomeController#indexはconfig/routes.rbには定義されておらず、デフォルトで定義されているように見えるが、autoloadの仕組みによるものだと思われる。
ここでautoloadされることによって、WelcomeControllerがルーティングにセットされる。
WelcomeControllerの実装はこれ。 railties/lib/rails/welcome_controller.rb#L5
詳細にコードを追えなかったが、autoloadの仕組みに乗っかることでルーティングの登録を明示的にしなくてもルーティングが解決されるように見える。