hirolibe / hiro-blogapp

0 stars 0 forks source link

疑問(followのroutes) #47

Open hirolibe opened 3 months ago

hirolibe commented 3 months ago

◯config/routes.rb

・・・
resources :accounts, only: [:show] do
  resources :follows, only: [:create]
end
・・・

フォローは1つのアカウントに対して1回しかしないのに、なぜresourcesと複数形なのか?

hirolibe commented 3 months ago

ChatGPTの解答

統一されたURL構造 resourcesを使うと、標準的なRESTfulなURL構造になります。例えば、accounts/:account_id/followsやaccounts/:account_id/unfollowsという形で、複数形のエンドポイントが他のリソースと一貫性があります。これにより、コードの可読性と予測可能性が向上します。

将来的な拡張性 将来的に、フォローやアンフォローに関して、一覧表示や個別の削除といった操作が必要になった場合、resourcesを使っておくと対応しやすくなります。例えば、フォローの履歴を表示するページや、誤ってフォローした場合に個別にフォローを取り消す機能を追加することが容易になります。

コントローラのアクションの一貫性 resourcesを使うことで、Railsの標準的なコントローラのアクション(index, show, create, update, destroy)に対応したルーティングが生成されます。これにより、コントローラの設計が一貫性を持つようになります。

所感

・テーブルにid情報しかなく、フォローの履歴を表示する可能性は低い戸考えるため、resourceの単数形が良いと感じた。 ・pathが「account_follows_path」であったり、URLが「/accounts/:account_id/follows」となっているのが違和感を感じる。