Rails 単数形リソース(resource)

単数形リソースを使う場面

ユーザープロフィール用のURLなどはidを参照しないことが望ましいため、単数系リソースが使った方が良い。

複数作成できる掲示板(Board)の仕様と異なり、ユーザーに対するプロフィールは1つしか存在しない。 また、他ユーザーのプロフィールを編集することはないので、idを表示させるメリットがない。 またユーザープロフィールは一覧(index:/profiles)を表示する必要がなく、詳細ページでidを表示させると自分が何番目に作成されたユーザーか分かってしまう。 詳細ページ(show:/profiles/:id)に他ユーザーのidを入力されてしまうこともあるので、単数形リソースを使うことが望ましい。

#routes.rb

resource :profile, only: %i[show edit update]

この設定で使用できるルーティングは次のようになります。

edit_profile GET    /profile/edit(.:format)             profiles#edit
     profile GET    /profile(.:format)                  profiles#show
             PATCH  /profile(.:format)                  profiles#update
             PUT    /profile(.:format)                  profiles#update

参考サイト

railsguides.jp