表示されている内容は、関連付けの定義と、「in」句に一致する基になるクエリから正確に正しいものです。「in」を distinctの「セット内」と考えてリフレッシュしてください。 オブジェクト
@ task.userlistアソシエーションの場合、$in句に一致するUserコレクション内のドキュメントのみを取得します。Userコレクションは主要な「サブジェクト」です。
とは意味上の大きな違いがあります。User.where(:user_id.in => self.user_id)
対
self.user_id.collect |user_id| do User.where(:user_id => user_id).first; end
前のクエリから「重複」を取得するには、Userコレクションに重複するドキュメントを真剣に含める必要があります。;-)
これがあなたの理解に役立つことを願っています。