目的
- Ruby on Railsでページを表示するのに必要なファイルについてまとめる
※本記事はRuby on Rails超初心者の筆者がまとめたものです。情報が正確ではない可能性があります。優しくコメントをくださると幸いです。。。ごめんなさい!!
ページを表示するのに必要なファイルは基本的に3ファイル
- ビュー(view)ファイル
- コントローラ(controller)ファイル
- ルーティング(routing)ファイル
新しいページを作るコマンド
- この後の説明で使うので定義する。
- URL
localhost:3000/home/top
にアクセスできるようになる。 - homeがビューファイルが格納されるフォルダ名。
- topがビューファイルのファイル名。
$ rails generate controller home top
ページ表示のフロー
必要なファイルの詳細
ビュー(view)ファイル
- ページの見た目を作るHTMLファイルのこと。
- 前述の「新しいページを作るコマンド」を実行するとビューファイルは下記に作成される。
apps/views/home/top.html.erb - ちょっと拡張子が普通のHTMLとは異なるけどファイル記法はHTMLと一緒。
- ビューファイルの名前は必ず「~.html.erb」となる。
コントローラ(controller)ファイル
-
前述の「新しいページを作るコマンド」を実行するとコントローラファイルは下記に作成される。
apps/controller/home_controller.rb
※下記の内容は必ずしもすべてのコントローラファイルに当てはまるわけではない。 -
中にはメソッドが書かれている。
-
コントローラファイルに書かれるメソッドの事をアクションと呼ぶ。
-
コントローラファイルの名前は必ず「~_controller.rb」となる。
-
コントローラファイル名はビューファイルの格納されているフォルダ名を指す。
-
アクションに書かれているメソッドはビューファイルのファイル名を指す。
-
Railsはコントローラファイルを経由してビューをブラウザに渡している(これは深く考えない事)
-
コントローラファイルの記載例
class HomeController < ApplicationControlloer #ここから def top end #ここがアクション end
ルーティング(routing)ファイル
-
前述の「新しいページを作るコマンド」を実行するとルーティングファイルは下記に作成される。
config/routes.rb
※下記の内容は必ずしもすべてのコントローラファイルに当てはまるわけではない。 -
URLとコントローラファイル名とアクションを結び付けている。
-
このURLが来たときはこのコントローラ名のこのアクションね~という感じ。
-
ルーティングファイルに記載されていないURLがブラウザからRailsに要求されるとエラー。
-
ルーティングファイルの記載例
localhost:3000/home/topがブラウザから要求されたときにコントローラ名ファイル名homeのアクション名topで処理される。Rails.applicaitonroutes.draw do # URL コントローラファイル名#アクション名 get "home/top" = > "home#top" end