2011-07-21 21 views
0

Rails 2.3.8には2つのモデルのニュースとユーザーがあります。Rails:より良い関連付け条件を作成するにはどうすればいいですか?

私のアプリではまだ登録されていないユーザーには、というニュースは表示されません。ホームページでは、各ニュースがボックスに表示され、ユーザーは「X」をクリックしてそのニュースを永久に(彼のプロフィールのために)隠すことができるはずです。

これを行う1つの方法は、User_newsモデルを作成し、ニュースが作成されるたびに各ユーザーのUser_newsモデルでレコードを生成し、各ユーザーのリンクレコードを「読み取り」フィールドセット真になるこのアプローチの問題は、私は私のアプリで何千人ものユーザーを持っている場合、私はニュースの一部を公開するたびに私は何千ものレコードを作成する必要があるということです

class User < ActiveRecord::Base 
has_many :unread_news, :through => :user_news, :source => :news, :conditions => 'read IS NOT TRUE' 

:似次にUserモデルで関連付けを作成私のuser_newsテーブル。

私の質問は:「各ユーザーの未読ニュースがに表示されたものを除き、すべての既存のニュースです

:それはユーザーとRailsに何かを伝えるニュースのモデルとの間の関係を記述することが可能ですUser_newsテーブル "?

とにかく私の目標にどのようにアプローチしますか?

おかげで、 アウグスト

+0

これを行う1つの方法は、ニューステーブルのすべてのニュースレコードを選択し、news_usersテーブルを介してユーザーにリンクされているニュースをこのグループから差し引く「未読ニュース」スコープという名前です。 – Augusto

+0

どうすればいいですか? – Augusto

答えて

0

は、あなたがのNoSQLソリューションについて話しているようです。確かにMongoDBを試してみてください

関連する問題