Ruby on Rails【Ruby on Rails】「Hello World!!」が表示されるまでの仕組み。 togamin 06/16/2019 / 06/16/2019 スポンサードリンク どうも、とがみんです。以前の記事で、Ruby on RailsのMVCアーキテクチャの概要について説明しました。 この記事ではRuby on Railsにおいて、「Hello World!!」が表示されるまでの仕組みについて紹介します。Contents [hide]Hello Worldが表示されるまでの仕組み実装手順アプリケーションの作成コントローラーの作成テンプレートファイルの作成ルートの設定表示まとめ参考文献Hello Worldが表示されるまでの仕組みブラウザに「Hello World!!」が表示されるまでの仕組みは、以下のようになっています。 クライアントがリクエストを送るroutes.rbがリクエストに応じたコントローラのアクションメソッドを呼び出し実行する。アクションメソッドが実行されると、それに対応するテンプレートが検索される。ロジックとデザインが統合される。application.html.ernにテンプレートが埋め込まれ、最終的な出力を生成する。実装手順以下のような手順で「Controller」と「View」を作成し、ブラウザに「Hello World!!」を表示します。アプリケーションの作成コントローラーの作成テンプレートファイルを作成ルートの設定表示アプリケーションの作成ターミナルにおいて、アプリケーションを作成したいディレクトリに移動し、以下のコマンドを実行します。$rails new railsTestすると、アプリケーションを作成するためのフォルダ・ファイルが生成されます。コントローラーの作成testというコントローラーを作成します。作業ディレクトリ上で、以下のコードを実行します。rails generate controller test実行すると、いくつかファイルが生成されます。app/controllersにtest_controller.rbというファイルに処理を記述していきます。test_controller.rbRuby#コントローラー class TestController < ApplicationController #アクションメソッド「view」 def view #インスタンス変数 @msg = "Hello World!!" end end12345678910#コントローラーclass TestController < ApplicationController #アクションメソッド「view」 def view #インスタンス変数 @msg = "Hello World!!" end end コントローラー:MVCのControllerを担う要素 アクションメソッド:クライアントからのリクエストに対して、具体的な処理を実行していくためのメソッド インスタンス変数:オブジェクトが持つ属性。値を保存するための変数。テンプレートファイルの作成アクションの結果を出力するためのテンプレートファイルを作成します。テンプレートファイルは、/app/viewsフォルダ配下に「コントローラ名/アクション名.html.erb」という名前で保存します。ここでは、testコントローラーのviewアクションに対応するテンプレートなので、「test/view.html.erb」を作成します。Railsはアクションメソッドを実行した後、対応するテンプレートを検索し、実行します。view.html.erbRuby<div id = "main"> <%= @msg %> </div>123<div id = "main"> <%= @msg %></div>ルートの設定クライアントから受け取ったリクエストから、そのリクエストに応じて、どのコントローラを呼び出すかを設定します。この設定はconfig/routes.rbに定義します。config/routes.rbRubyRails.application.routes.draw do get 'test/view', to: 'test#view' end123Rails.application.routes.draw do get 'test/view', to: 'test#view'end表示ブラウザで、http://localhost:3000/test/viewを入力すると、以下の画像のような経路を経て「Hello World!!」が表示されます。 まとめRuby on Railsにおいて、「Hello World!!」が表示されるまでの流れについて説明しました。参考文献【新品】【本】Ruby on Rails 5アプリケーションプログラミング 山田祥寛/著posted with カエレバ楽天市場Amazon 仕組み Ruby on Railsスポンサードリンク スポンサードリンク