2011-02-03 1 views
0

私はRailsでソーシャルネットワークを作っています。私はUserモデルとPageモデルを持っています。ユーザーはページを「フォロー」または購読することができます。したがって、ユーザーは多数のページを持ち、ページは多数のユーザーを持つことができます。これらの関係はどのようにデータベースに格納されますか?私は新しいオブジェクトを作成する必要がありますか?belongs_to:user?RailsでプログラミングされたFacebookのようなソーシャルネットワークでは、データベース内でユーザーがページを「好き」していることを保存しますか?

答えて

2

これは一般に、UserPageとuser_pagesテーブルである「結合モデル」で行われます。必要に応じてサブスクリプションと呼ぶこともできますが、Railsは期待されるセマンティクスに固執して報います。

+0

ありがとうございました。それで、私は新しいモデルを作り、それをUserPageと呼ぶことができ、それにuser_idとpage_id、そしてオプションとしてサブスクリプションのいくつかの他のプロパティを与えることができます。それから、ユーザーはhas_many:pages、:through =>:userpagesを持つことができますか? – John

+0

閉じる。ユーザーhas_many:user_pages; has_many:ページ、:through =>:user_pages。次に、他のプロパティを結合レコードに設定することができます。 –