Implicit Collection パターン
/{id}
どのようなパターン?
Collection & Member Resource パターンから、コレクションリソースの部分を取り去ってパス階層を縮めた形。
例えばこのようにする。
/users/1/articles → なし /users/1/articles/2 → /users/1/2
コレクションリソースを省略する理由としては、
- コレクションリソースが不要
- コレクションが何であるかは自明
- パスを短くしたい
などが考えられる。
コレクションリソースが不要
「コレクション全体」へのアクセスが必要ない場合。 TwitterやGitHubは、ユーザー数が膨大で「ユーザー全体」というリソースを提供する意味がなく、個別のユーザーリソースだけがあればよい。
/users/tkawa → /tkawa
別のリソースを作る場合、ユーザーリソースの名前と衝突しないように注意。
また、Factoryの役目を担うリソースがなくなるため、リソース作成の手段を考慮する必要がある。
コレクションが何であるかは自明
年月日の例。
/years/2012/months/12 → /2012/12
ルートリソースを代用
/users/tkawa → /tkawa
のように最初のパス階層を省略するときは、ルートリソース/
をコレクションリソースとして使うことも可能。
Rails routes.rb の書き方
resources :users, path: ''