問題一覧に戻る
中級高度なルーティング
問題28: カスタムルート - member/collection

Railsでmemberとcollectionを使ってRESTfulルートにカスタムアクションを追加する方法を学習します。memberルートは特定のリソースに対して作用し(/posts/1/publishなど)、collectionルートはコレクション全体に作用します(/posts/searchなど)。これらは標準の7つのRESTfulアクションを超えて、ドメイン固有の機能を追加するために不可欠です。

# 個別の投稿へのカスタムアクション(例:公開、アーカイブ)
resources :posts do
do
# publishアクションのGETリクエストを定義
:publish
end

# 全投稿へのカスタムアクション(例:検索、エクスポート)
do
# searchアクションのGETリクエストを定義
:search
end
end