View(ビュー)を利用する (1/5)
作成:2012-01-23 07:50
更新:2012-02-16 15:07
更新:2012-02-16 15:07
■Viewテンプレートを使った表示
今回は「View」の基本について説明をしていきましょう。Viewは、画面表示を担当するMVCの部品ですね。
ユーザーがRailsアプリにアクセスすると、Controllerにあるアクションメソッドが呼び出されます。前回、ここでrenderメソッドを呼び出して表示を作成していました。が、実は普通はこういうやりかたはしないのです。
では、renderを呼び出さないでいるとどうなるか。Railsはメソッドの実行後、そのアクションに対応するViewのテンプレートを探してロードし、それをレンダリングして表示を作ってクライアント側に送り返すのです。
Railsでは、Controller名とアクション名に応じて自動的に対応するViewテンプレートを検索するような仕組みが備わっています。Railsアプリの「app」フォルダの中にある「views」というフォルダが、View関係のファイルを保管する場所になります。その中を開いてみてみましょう。そこに「layouts」「helos」というフォルダがあることに気がつくでしょう。「layouts」はレイアウト関連のファイルを保管するところとしてデフォルトで用意されているものですが、もう1つの「helos」は、前回、「helos」というControllerを作成した際に自動生成されたフォルダなのです。
このフォルダの中には、「index.html.erb」というファイルが用意されています。これが、indexアクションでロードされるViewテンプレートなのです。整理すると、以下のようになります。
・「views」フォルダの構成
「views」フォルダ内に、Controller名のフォルダが用意される。
そのフォルダ内に、そのControllerで実装されるアクションのViewテンプレートが保存される。
・Viewテンプレートの名前
「アクション.html.erb」というファイル名が付けられる。
このViewテンプレートは、Controllerでアクションを作成した際に自動的に作成されます。前回、helosコントローラーを作成する際、「index」アクションを指定して作ったのを思い出してください。これにより、「views」内に「helos」フォルダが作られ、更にその中に「index.html.erb」ファイルが作られていたのです。
ユーザーがRailsアプリにアクセスすると、Controllerにあるアクションメソッドが呼び出されます。前回、ここでrenderメソッドを呼び出して表示を作成していました。が、実は普通はこういうやりかたはしないのです。
では、renderを呼び出さないでいるとどうなるか。Railsはメソッドの実行後、そのアクションに対応するViewのテンプレートを探してロードし、それをレンダリングして表示を作ってクライアント側に送り返すのです。
Railsでは、Controller名とアクション名に応じて自動的に対応するViewテンプレートを検索するような仕組みが備わっています。Railsアプリの「app」フォルダの中にある「views」というフォルダが、View関係のファイルを保管する場所になります。その中を開いてみてみましょう。そこに「layouts」「helos」というフォルダがあることに気がつくでしょう。「layouts」はレイアウト関連のファイルを保管するところとしてデフォルトで用意されているものですが、もう1つの「helos」は、前回、「helos」というControllerを作成した際に自動生成されたフォルダなのです。
このフォルダの中には、「index.html.erb」というファイルが用意されています。これが、indexアクションでロードされるViewテンプレートなのです。整理すると、以下のようになります。
・「views」フォルダの構成
「views」フォルダ内に、Controller名のフォルダが用意される。
そのフォルダ内に、そのControllerで実装されるアクションのViewテンプレートが保存される。
・Viewテンプレートの名前
「アクション.html.erb」というファイル名が付けられる。
このViewテンプレートは、Controllerでアクションを作成した際に自動的に作成されます。前回、helosコントローラーを作成する際、「index」アクションを指定して作ったのを思い出してください。これにより、「views」内に「helos」フォルダが作られ、更にその中に「index.html.erb」ファイルが作られていたのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ