ユーザーのプライベートメッセージングの基本的なデータベース構造はどのように見えますか?

私はRails 3.2(レールに関する質問ではないルビー)を使用しており、私が取り組んでいるプロジェクトの最後に近づいています。今私はユーザープライベートメッセージング機能を構築しています。

私は http://www.novawave.net/public/rails_messaging_tutorial.html#いくつかのことはうまくいきません。RORのバージョンが古くなっている可能性が高いためです。

私は今、自分でこれをやろうとしていますが、始めるには何か助けが必要です。私はこれを実装する最善の方法を見つけようとするのに困っているサークルに行くつもりです。

私はすでに何か似たようなものを持っています。いくつかのユーザーが1つの壁のポストに糸のようにコメントすることができる「壁の掲示」。これで元の壁の投稿が削除されても、すべてのコメントも削除されます。

私のメッセージングシステムでは、受信トレイだけで簡単にしたいと思います。ユーザーは、送受信したメッセージをsent_at日付順に表示します。私は、他の人が削除されることなく、メッセージを削除する機能をユーザに求めています。

私の考え

私はこれを達成する方法が2つのメッセージのコピーを持っていると思っています。

ユーザA(送信者)に対しては-1、ユーザB(受信者)に対してはこのようにして、他のユーザに影響を及ぼすことなくメッセージを独立して管理することができる。

これまで私は3つのテーブルを持つことを考えました:

  1. メッセージ

  2. Message_copies

  3. フォルダ(これはサインアップ時に自動的に作成され、メッセージを受信したときに作成される各ユーザーの行を格納します..... acts_as_tree ... ?? .... erm。 ..青い星?.....背中の痛み..(私の心はさまよう)..

これが私の頭が傷つき始める場所です。私がしても何をしようとしているのか分かりません。私がイエスのように感じるとき、私は今これを持っていると思う私はレンガの壁に会う。

ソリューション

このような機能を実装している人なら誰でも、私が達成しようとしているものを達成するために必要なデータベースのテーブルの情報を私に提供できると思っていました。私は100%が私はそれを行うことができますが、キックスタートを必要と知っている。私はこのプロジェクトを始めて以来、これが最大の障害でした。

私はこれを頭に入れて、同じメッセージを2回保存することを避けようとしているようではありません。送信者用に1回、受信者用に1回。そのようにしても正しいとは思われません。

すべてのメッセージが格納されている1つのテーブルがあり、サインアップ時に自動的に作成される各ユーザーのフォルダテーブルと、メッセージテーブルに格納されているメッセージは、送信者と受信者によって実際に使用されますそのフォルダからメッセージを削除します。メッセージは、他のユーザの送信者/受信者が自分のフォルダからメッセージを削除するまで、メッセージテーブルに残ります。

敬具

3

1 答え

メッセージの表とメッセージ受信者の表はどのようになっていますか?レシピテーブルには、「このメッセージで何をするか」と「保持する、返信する、削除する(表示しない)、削除する(表示する)」などのオプションがあります。与えられたレシピがこのメッセージで何が起こるかを気にするかどうか。

メッセージの複数のコピーを作成することは過度のようです。

2
追加された
これは、私がやったことに素敵なキックスタートでした。ありがとう..
追加された 著者 LondonGuy,