0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ポータルサイト創作記:6日目

Posted at

昨日は、以下のコマンドを使って、ファイルが追加されるまでを行った。
$ bundle exec rails g controller homes index
↓実行すると
・app/controllersフォルダ(ディレクトリ)の中にhomes_controller.rbファイルが作成された。
・app/viewsフォルダ(ディレクトリ)の中にhomesフォルダ(ディレクトリ)が作成され、index.html.erbファイルが作成された。
・routes.rbにget homes/indexというコードが追加された。
スクリーンショット 2020-04-20 0.14.51.png

今日は、昨日つくられたファイルがなんなんだ?ということに触れる。

覚えておかなければいけないことは、次の3つ。
・app/controllers/homes_controller.rb
 →このファイルを*「コントローラー」と呼ぶ
・app/views/homes/index.html.erb
 →このファイルを
「ビュー」と呼ぶ。
・routes.rb
 →このファイルを
「ルーティング」*と呼ぶ。

今日は、それぞれの役割を見ていく。
スクリーンショット 2020-04-21 0.13.52.png
Webサービスはリクエストとレスポンスのやりとりで成立している。
ユーザーは端末から見たいページなどをリクエストし、サービス側はサーバーでレスポンスを返す。

先ほどのルーティングコントローラービューはサーバーの中にある。
スクリーンショット 2020-04-21 0.53.06.png
①スマホからレスポンスが送られた。このレスポンスはURLで送られている。

②URLはサーバーに届くと、ルーティングで読み込まれる。
スクリーンショット 2020-04-21 0.22.32.png
homes/indexということで、homes_controllersのindexアクションの呼び出しを実行する。

③ルーティングで呼び出されたcontorollerのアクションに従って、viewファイルを呼び出す。
スクリーンショット 2020-04-21 0.24.57.png
app/controllers/homes_controller.rbのファイルの画像。
def indexと、indexアクションが定義され、viewファイルを呼び出している。
呼び出されたのは、app/views/homes/index.html.erbファイル。

④呼び出されたviewファイルのコードをレスポンスとして返す。
スクリーンショット 2020-04-21 0.25.39.png
viewファイルの画像。
Homes#indexという文がh1などで囲まれているが、これは「タグ」と呼ばれる装飾。h1で挟むことで見出しになる。
ちなみにFind me in app/views/homes/index.html.erbをはさんでいるpは段落をつくるタグ。

⑤viewの内容のレスポンスを受けとったブラウザが、情報を表示する。
スクリーンショット 2020-04-21 0.40.18.png
こうして、情報が手元に届く。

このようにして、ルーティング−アクション−ビューが連携して、リクエストを受け取り、レスポンスを返すことでWebサービスが成立している。

今日はここまで!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?