0

誰もがデータベース内のユーザーの友達(2つの方法での友情)とフォロワーを管理する方法を実装しています。

私が達成したいことを意味します:1)user1はuser2に接続要求を送信します。2)次に、user2はuser1を友達またはフォロワーとして受け入れるか、拒否します。3)user2がuser1を友達として受け入れる場合、この友情は双方向の友情です。

私がこれを処理しようと考えていること:1)友情テーブルを作成します。2)ユーザーを維持する関係列はフォロワー/友達です。3)ユーザーが友達の場合、両端から友達の関係を維持するために2つのエントリを作成します。

このケースを処理するための最善のアプローチ(gems / plugin)を提案していただけませんか。

4

3 に答える 3

1

次のフィールドと友好関係を築く必要があります

1] user_id
2] friend_id 
3] status

最初に、ユーザーがフレンドシップのリクエストを送信するときは、フレンドシップのリクエストを送信するときに、に変更する必要がありますstatusPendingaccept/rejectAccepted/Rejected

于 2012-10-15T11:11:37.500 に答える
0

列(USER_A、USER_B、RELATION)を持つテーブルを作成できます。これで、定数または列挙型を作成して、USER_AとUSER_Bの間の関係を定義できます。たとえば、0は関係がないことを表し、1はUSER_A-> USER_B(ユーザーAはユーザーBに続く)を表し、2はUSER_B-> USER_A(ユーザーBはユーザーAに続く)を表し、3はUSER_A <-> USER_B(双方向を意味します)を表します。その後、履歴が必要ない場合は同じ行を更新できます。それ以外の場合は、関係の変更に応じてもう1行追加できます。それがうまくいくことを願っています!

于 2012-10-15T14:17:05.013 に答える
0

ActiveRecord モデルにいいね、フォロー、メンションを提供するソーシャル化ジェムを確認できます。

于 2012-10-15T14:21:56.570 に答える