URL設計の確認

# URLの確認方法
### `http://127.0.0.1:3000/rails/info/routes`へアクセスし確認
>development環境で動作しているときに`http://127.0.0.1:3000/rails/info/routes`へアクセスするか、存在しないURLを入力すると、現在のルーティング情報を出力するWeb画面が表示されます。

https://gihyo.jp/book/2020/978-4-297-11462-6

* 実際やってみてルート情報が表示された

### `bin/rails routes`コマンドでルートを表示

```
*******@**** ***** % bin/rails routes
                                  Prefix Verb URI Pattern                                                                                       Controller#Action
                                         GET  /                                                                                                 home#top
                              login_form GET  /login_form(.:format)                                                                             users#login_form
```

# `bin/rails routes`の`Prefix`,`Verb`,`URI Pattern`,とは何か?

## Urlヘルパー `Prefix`
>`resourceメソッドは、ビューヘルパーlink_toメソッドなどで利用できるUrlヘルパー（名前付きルート）も自動生成します`。これらのヘルパーを利用することで、リンク先のパスをよりわかりやすく、かつ、ルート定義に左右されることなく表現できます。
p373

https://gihyo.jp/book/2022/978-4-297-13062-6

* Urlヘルパーはlink_toメソッドで使える。

### プレフィックスがあることによってpathをつけて直にurlを書かなくてもいい
>以下のように:asオプションを使うことで、`Railsがルーティングに対して生成する名前付きルーティングヘルパー名の冒頭に文字を追加（プレフィックス）`できます。パススコープを使うルーティング同士での名前の衝突を避けたい場合にお使いください。
```rb
scope "admin" do
  resources :photos, as: "admin_photos"
end
```
>resources :photos
上のようにas:を使うと、/admin/photosのルーティングヘルパーが、`photos_path`、`new_photos_path`などから`admin_photos_path`、`new_admin_photo_path`などに変更されます。 

https://railsguides.jp/routing.html#%E5%90%8D%E5%89%8D%E4%BB%98%E3%81%8D%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%98%E3%83%AB%E3%83%91%E3%83%BC%E3%81%AB-as%E3%81%A7%E3%83%97%E3%83%AC%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B:~:text=%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%3Aas,%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

## `Verb`とはHTTP動詞
>Railsのリソースフルルーティングでは、（GET、PUTなどの）各種HTTP verb（動詞、HTTPメソッドとも呼ばれます）

https://railsguides.jp/routing.html#crud%E3%80%81verb%E3%80%81%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3:~:text=Rails%E3%81%AE%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%95%E3%83%AB%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%A7%E3%81%AF%E3%80%81%EF%BC%88GET%E3%80%81PUT%E3%81%AA%E3%81%A9%E3%81%AE%EF%BC%89%E5%90%84%E7%A8%AEHTTP%20verb%EF%BC%88%E5%8B%95%E8%A9%9E%E3%80%81HTTP%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%81%A8%E3%82%82%E5%91%BC%E3%81%B0%E3%82%8C%E3%81%BE%E3%81%99%EF%BC%89

## `URI` URIパターン
>URL パターンは、特定のパターンに一致する URL のグループです。パターンは 1 つまたは複数の * を使って指定します。個々の * の前後にあるすべての文字と一致する場合、URL は URL パターンに一致します。* は任意の数の文字を表します。

https://support.google.com/programmable-search/answer/71649?hl=ja#:~:text=URL%20%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AF%E3%80%81%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%99%E3%82%8B%20URL%20%E3%81%AE%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%A7%E3%81%99%E3%80%82%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AF%201%20%E3%81%A4%E3%81%BE%E3%81%9F%E3%81%AF%E8%A4%87%E6%95%B0%E3%81%AE%20*%20%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E5%80%8B%E3%80%85%E3%81%AE%20*%20%E3%81%AE%E5%89%8D%E5%BE%8C%E3%81%AB%E3%81%82%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%96%87%E5%AD%97%E3%81%A8%E4%B8%80%E8%87%B4%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81URL%20%E3%81%AF%20URL%20%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82*%20%E3%81%AF%E4%BB%BB%E6%84%8F%E3%81%AE%E6%95%B0%E3%81%AE%E6%96%87%E5%AD%97%E3%82%92%E8%A1%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

> /people(.:format)
「(.:format)」にはアクセスしたURIの拡張子(.jsonや.csvなど）によってレスポンスを変化させるために利用します。
### URIパターン種類
https://itpfdoc.hitachi.co.jp/manuals/link/cosmi_v0970/03Y0560D/EY050163.HTM