*_path *_urlの使い分け 単数形リソース 複数形リソースの使い分け resourceについて
参考URL:
railsguides.jp
ルーティングにresourceを使用し、Prefixが使えるようになった。
忘れないようにメモをする
1. *_path *_urlの使い分け
_urlは絶対パスを返す redirect_toする時に使う
_pathは相対パスを返す リダイレクトをする以外に使う
2. 単数形,複数形リソースの使い分け
単数形リソース
resource :picachu |
他のユーザーidを参照する必要がないときに使用する
複数形リソース
resources :picachu |
他のユーザーidを参照する時に使用
ユーザーを管理するコントローラーで使う。
3. resourceについて
ちなみに resource(s)を使用した時に生成されるパスは7種類
HTTP動詞 | パス | コントローラ#アクション | 目的 |
---|---|---|---|
GET | /photos | photos#index | すべての写真の一覧を表示 |
GET | /photos/new | photos#new | 写真を1つ作成するためのHTMLフォームを返す |
POST | /photos | photos#create | 写真を1つ作成する |
GET | /photos/:id | photos#show | 特定の写真を表示する |
GET | /photos/:id/edit | photos#edit | 写真編集用のHTMLフォームを1つ返す |
PATCH/PUT | /photos/:id | photos#update | 特定の写真を更新する |
DELETE | /photos/:id | photos#destroy | 特定の写真を削除する |
これ以外のアクションを追加しようと思ったらネストをして追加をしないといけない。
その際はmemberまたはcollectionを使用します。
resources :pikachu do
collection do
post :login
post :create
end
member do
get :update
end
end
collectionは集合で idは無し
memberは個別でidは有り