Rails.application.routes.draw do
get 'apps' => 'apps#index'
end
```
# コントローラ
* コントローラの作成には`rails g controller` コマンドというものを使用。このコマンドでコントローラに関するファイルが自動で作成される。
```
$ rails g controller コントローラ名
# コントローラを作成
```
コントローラを間違えて作成した場合は以下のコマンドで削除する。
```
$ rails d controller コントローラ名
# 作成したコントローラを削除
```
コントローラクラスはファイル名(appss_controller.rb)から、単語の先頭を大文字にしてアンダーバーをとった形になる。
```rb:
class AppsController < ApplicationController
def index
end
end
```
### アクション
* アクションとはコントローラクラスにおけるインスタンスメソッドのことを示す。
先のプログラムではAppsControllerクラスにindexアクションを作成したことになる。
アクションは複数記載することが可能。
## ビュー
* レスポンスによって返されるのがビューファイルである。
* ビューファイルには拡張子が`.html.erb`のものを作成する。
* コントローラのメソッド1つにつきビューファイルが1つ存在することになる。
* ビューファイルはコントローラと同じフォルダ内にあり、アクション名と同じファイル名のものが適用される。
### レイアウトファイル
* app/views/layouts以下にあるファイルはレイアウトファイルと呼ばれるビューファイル。
* レイアウトファイルは、それぞれのビューファイルが読み込まれる前に読み込まれる。
* つまり、このファイルにそれぞれのビューの共通部分(ヘッダーやフッターなど)を定義しておくことで、同じコードを省略可能。
* レイアウトフォルだ内にある、`application.html.erb`のbodyタグ内には`<%= yield %>`と書かれている。これはこの部分をそれぞれのビューファイルに置き換えるということ。
```rb:
<!-- yieldの部分がそれぞれのビューファイルに置き換わる -->
<!DOCTYPE html>
<html>
<head>
<title>App</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
```