2

アソシエーションをシリアル化できますか? つまり、私はそのQuestionモデルを持っていhas_many Interests :through => :interests_questionsます。質問と興味のテーブルは巨大で、サイズを大きくしたくありません。それで、interests_questionsquestion_idを持つテーブルを作成しinterests_ids、interest_ids が関連するすべての興味を含むシリアル化されたハッシュを受け取る方法はありますか?

activeRecord はこの種のものを処理しますか、それとも Gem はありますか?

ありがとうございました

4

1 に答える 1

3

ActiveRecord はそれを行いません。これは主に、これが RDBM システムの古典的なアプローチではないという事実によるものです。問題は、実際には 1 つまたは複数の質問に対するすべての関心事項しか表示できず、すぐに 2 つのクエリが必要になることjoinですincludes。また、質問と関心の関係に依存する (db) クエリを実行することはできません。たとえば、1 週間以内に作成され、質問 5、9、12 に属するすべての興味を求めるには、それらの質問のすべての興味を ruby​​ で反復することによってのみ行うことができます。

MongoDB の Mongoid を見ることができます。それはまさにそれを行います。質問内にすべての興味を完全に埋め込むことさえできます。

于 2013-05-20T08:09:49.780 に答える