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