ルーティングの簡略化、単数形、名前空間

### 複数のコントローラのルーティングを省略できる
```rb
resources :photos, :books, :videos
```
上の記法は、以下の記法のショートカットです。
```rb
resources :photos
resources :books
resources :videos
```
https://railsguides.jp/routing.html#rails%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B:~:text=resources%20%3Aphotos%2C%20%3Abooks,books%0Aresources%20%3Avideos

### リソースの一覧が必要ない一つだけの場合は単数形リソースを使う
>2.5 単数形リソース
>場合によっては、`ユーザーがリソースを1個しか持たないことが前提`となることもあります（この場合、`そのリソースのすべての値を一覧表示するindexアクションを用意する意味はありません`）。このような場合は、複数形のresourcesの代わりに単数形のresourceを指定できます。

>以下のリソースフルなルーティングは、アプリケーション内に6つのルーティングを作成して、それらすべてをGeocodersコントローラーに対応付けます。
```rb
resource :geocoder
resolve("Geocoder") { [:geocoder] }
```
>上のresolve呼び出しは、Geocoderのインスタンスをレコード識別を介して単数形ルーティングに変換するために必要です。
```
 Prefix Verb   URI Pattern                                                                                       Controller#Action
                            new_geocoder GET    /geocoder/new(.:format)                                                                           geocoders#new
                           edit_geocoder GET    /geocoder/edit(.:format)                                                                          geocoders#edit
                                geocoder GET    /geocoder(.:format)                                                                               geocoders#show
                                         PATCH  /geocoder(.:format)                                                                               geocoders#update
                                         PUT    /geocoder(.:format)                                                                               geocoders#update
                                         DELETE /geocoder(.:format)                                                                               geocoders#destroy
                                         POST   /geocoder(.:format)                                                                               geocoders#create
```
### コントローラの名前空間とルーティング
>大規模なアプリケーションでは、コントローラーを名前空間でグループ化して整理したい場合があります。たとえば、app/controllers/adminディレクトリ内にあるAdmin::名前空間の下に、複数のコントローラーがあるとします。以下のようにnamespaceブロックを使うと、このようなグループへルーティングできます。
#### モジュールを使う
```rb
namespace :admin do
  resources :articles
end
```
#### モジュールを使う
```rb
Rails.application.routes.draw do
  scope module: "admin" do
    resources :books
  end
end
```
```rb
scope "/admin" do
  resources :articles
end
```
上は以下のようにscopeを使わない書き方も可能です。
```rb
resources :articles, path: "/admin/articles"
```

```rb
                                  Prefix Verb   URI Pattern                                                                                       Controller#Action
                                   books GET    /books(.:format)                                                                                  admin/books#index
                                         POST   /books(.:format)                                                                                  admin/books#create
                                new_book GET    /books/new(.:format)                                                                              admin/books#new
                               edit_book GET    /books/:id/edit(.:format)                                                                         admin/books#edit
                                    book GET    /books/:id(.:format)                                                                              admin/books#show
                                         PATCH  /books/:id(.:format)                                                                              admin/books#update
                                         PUT    /books/:id(.:format)                                                                              admin/books#update
                                         DELETE /books/:id(.:format)                                                                              admin/books#destroy
```
https://railsguides.jp/routing.html#%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%81%AE%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%A8%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0:~:text=2.4%20%E8%A4%87%E6%95%B0%E3%81%AE%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E5%90%8C%E6%99%82%E3%81%AB,%E3%81%8C%E5%AF%BE%E5%BF%9C%E4%BB%98%E3%81%91%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

### 感想
* 名前空間のついたルーティングはいつ使うのだろうか？
* 単数形もいつ使うのか

#### リソースフルルーティングとは
https://www.shoeisha.co.jp/book/article/detail/241#:~:text=%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%95%E3%83%AB%E3%81%A8,%E3%83%95%E3%83%AB%E3%81%AA%E6%93%8D%E4%BD%9C