Fresopiya
場所にもお金にも時間にも、何にも縛られない自由な状態になったら一体人間は何をしてどこに向かうのか。 まずはとにかく自由を目指すエンジニアのブログです。

哲学とプログラミングとブログがメインになるかと。
Ruby on Rails

【Ruby on Rails】「Hello World!!」が表示されるまでの仕組み。

どうも、とがみんです。

以前の記事で、Ruby on RailsのMVCアーキテクチャの概要について説明しました。


この記事ではRuby on Railsにおいて、「Hello World!!」が表示されるまでの仕組みについて紹介します。

Hello Worldが表示されるまでの仕組み

ブラウザに「Hello World!!」が表示されるまでの仕組みは、以下のようになっています。

  1. クライアントがリクエストを送る
  2. routes.rbがリクエストに応じたコントローラのアクションメソッドを呼び出し実行する。
  3. アクションメソッドが実行されると、それに対応するテンプレートが検索される。
  4. ロジックとデザインが統合される。
  5. application.html.ernにテンプレートが埋め込まれ、最終的な出力を生成する。

実装手順

以下のような手順で「Controller」と「View」を作成し、ブラウザに「Hello World!!」を表示します。

  • アプリケーションの作成
  • コントローラーの作成
  • テンプレートファイルを作成
  • ルートの設定
  • 表示

アプリケーションの作成

ターミナルにおいて、アプリケーションを作成したいディレクトリに移動し、以下のコマンドを実行します。

$rails new railsTest

すると、アプリケーションを作成するためのフォルダ・ファイルが生成されます。

コントローラーの作成

testというコントローラーを作成します。作業ディレクトリ上で、以下のコードを実行します。

rails generate controller test

実行すると、いくつかファイルが生成されます。

app/controllerstest_controller.rbというファイルに処理を記述していきます。

コントローラー:MVCのControllerを担う要素
アクションメソッド:クライアントからのリクエストに対して、具体的な処理を実行していくためのメソッド
インスタンス変数:オブジェクトが持つ属性。値を保存するための変数。

テンプレートファイルの作成

アクションの結果を出力するためのテンプレートファイルを作成します。

テンプレートファイルは、/app/viewsフォルダ配下に「コントローラ名/アクション名.html.erb」という名前で保存します。

ここでは、testコントローラーviewアクションに対応するテンプレートなので、「test/view.html.erb」を作成します。

Railsはアクションメソッドを実行した後、対応するテンプレートを検索し、実行します。

ルートの設定

クライアントから受け取ったリクエストから、そのリクエストに応じて、どのコントローラを呼び出すかを設定します。

この設定はconfig/routes.rbに定義します。

表示

ブラウザで、http://localhost:3000/test/viewを入力すると、以下の画像のような経路を経て「Hello World!!」が表示されます。

まとめ

Ruby on Railsにおいて、「Hello World!!」が表示されるまでの流れについて説明しました。

参考文献