🐶

Rails route設定の際のmemberとcollection(自己学習記録)

2024/10/31に公開

Railsではrouteでルーティング設定をする際に「resources」を使用することが多いが
resourcesのアクション
index,new,create,show,edit,update,destroy以外にアクションを追加したい場合に使用する
なお、memberとcolloctionの違いは

  • member IDが付与される
  • collection IDが付与されない

具体的なコードは以下の通り

resources :photos do
 member do
   get "preview"
 end
end

上のルーティングにより photos/:id/previewが設定される。
また、ルーティングへルパーとして preview_photo_path(url)も作成される

次にcollectionのコード

reosurces :photos do
  collection do
    get "search"
  end
end

上のルーティングにより photos/searchが設定される。
また、ルーティングヘルパーとして search_photo_path(url) が作成される。

Discussion