*_path *_urlの使い分け 単数形リソース 複数形リソースの使い分け resourceについて

 

参考URL:
railsguides.jp

 

shin.hateblo.jp

 

techracho.bpsinc.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は有り