背景:投稿とユーザーがあり、どちらも HABTM コミュニティです。私の投稿モデルには、特定のユーザーに対する投稿の関連性を計算するための方法があります。これは、ユーザーが共有しているコミュニティの数を比較することによって行われます。
def relevance(user)
(self.communities & user.communities).length
end
目的:特定の関連性によって投稿をクエリすること。
Post.where(:relevance => 3)
また
すべての投稿をクエリし、関連性で並べ替えます。
Post.all.desc(:relevance)
ユーザー変数がどこかに必要であることはわかっていますが、このようなことが可能かどうか、または回避策が存在するかどうか疑問に思っています。