質問: Ruby on railsでFacebookのような友達機能を実装したくて困っています。 Twitterのようにフォローフォロワーのような関係の友達機能を実装することはできたのですが、申請→承認→友達といったような構図のコードの検討がつきません。 初心者ですので、できれば詳しく教えていただきたいです。 宜しくお願い致します。
回答: ### モデル `friend_request` * from_user_id (誰から) * to_user_id (誰へ) というモデルに対して、 ### 1. from_user_id から to_user_id に申請されたら `friend_request` に対し、 * from_user_id * to_user_id を insert し、 to_user_id に通知を送る ### 2.1. to_user_id が承認したら `user_friend` * user_id * friend_user_id というモデルに対し、 * user_id: from_user_id * friend_user_id: to_user_id を insert ### 2.2. さらに to_user_id にも insert `user_friend` に対し、 * user_id: to_user_id * friend_user_id: friend_user_id を insert ### 2.3. friend_request からリクエスト削除 1. で入れた、 `friend_request` * from_user_id (誰から) * to_user_id (誰へ) を削除、from_user_id に友達になった旨を通知 といった流れではいかがでしょうか。 他にももっとやり方ありますが、実装できれば、というレベルであれば。