単数リソースとは
単数リソース(singular resource)とは、RESTfulなルーティングにおいてリソースを表現する際に、特定のリソースに対してCRUD操作(作成、読み取り、更新、削除)を行うためのルーティングを定義する方法の1つです。
通常、リソースは複数形で表現されます(例:resources :articles
)。これは、記事(articles
)に対する複数の操作を可能にします。一方、単数リソースは特定のリソースに対して単一の操作を提供します。
例えば、resource :profile
というルーティングは、ユーザーのプロフィール情報に対してCRUD操作を行います。この場合、次のようなルーティングが生成されます:
- GET /profile: プロフィールの表示
- GET /profile/edit: プロフィールの編集フォーム表示
- PUT /profile: プロフィールの更新
- DELETE /profile: プロフィールの削除
単数リソースは、ユーザーごとに1つのリソースを想定しており、通常はIDを使用しないため、リソースの識別子を含めません。そのため、生成されるルートは複数形ではなく単数形になります。
単数リソースは、ユーザーのプロフィールや設定などのリソースに適しています。