Ruby on Rails

Ruby on Rails – ルーティング member と collection の違い

RailsはRESTfulなルーティングが7つ(index, show, new, edit, create, update, destroy)用意されているが、それ以外のアクションを追加するときに member もしくは collection を使用する。

member ルーティングの使い方

memberルーティングは特定のリソースに対するアクションを追加するときに使用する
つまり、id が含まれるルーティングを追加したいときに使う

上記設定をすると、/events/1/preview を Railsが認識し、リクエストをEventsコントローラのpreviewアクションにルーティングし、リソースid値をparams[:id]に渡してくれる

collectionルーティングの使い方

collectionルーティングは一覧リソースに対するアクションを追加するときに使用する
つまり、id が含まれないルーティングを追加したいときに使う

上記設定をすると、events/search を Railsが認識し、リクエストをEventsコントローラのsearchアクションにルーティングしてくれる

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です