1

テーブルの列 (id、user_id、および投稿)を持つPost
モデルがあります。 次に 、列 (id、post_id、および user_id (投稿が共有されているユーザー)) を持つ post_shared_with があります現在、このテーブルのモデルはありません。投稿が誰と共有されているかを追跡するために必要なだけです。投稿は多くの人と共有できます。次に、 Photos
に対して同じスキームを使用します。テーブル列 (id、user_id、photo_path) を使用して写真をモデル化します。テーブルphoto_shared_withにはモデルがなく、列 (id、photo_id、user_id) があります。 そして最後に、ビデオの同じ古いスキームです。 質問:


すべての投稿、写真、動画を 1 つのフィードにまとめて表示するページが必要です。コントローラー フィードとしましょう。データベースで並べ替えられたフィードを取得するにはどうすればよいですか? そして私の見解はどのように見えるでしょうか?
第二に、これはこれを行うための効率的な方法ですか? バックボーンのようなフロント エンド フレームワークを使用してフィードを処理する必要がありますか。
これが非常に基本的なものである場合は本当に申し訳ありません。私は初心者であり、どんな助けも大歓迎です。注: micheal hartl による railstutorial の本を読み終えたので、基本は理解できました。

4

2 に答える 2

0

ポリモーフィックな shared_with テーブルを作成できます (したがって、任意のオブジェクトに属することができます)。次に、shared_with テーブルをクエリするだけです。

したがって、スキーマは次のようになります。

Post (id, user_id, post_content)
Photo (id, user_id, photo_path)
SharedWith(id, shareable_id, shareable_type, user_id) (where the user_id is who you're sharing this with).

参照用に、レールhttp://guides.rubyonrails.org/association_basics.html#polymorphic-associationsを使用したポリモーフィック結合に関するリンクを次に示します。

于 2013-03-26T18:42:03.733 に答える