ユーザーの「表示」ページにこれらを表示するために、ユーザーに自己参照的に関連する一連のレコードを引き出すのに本当に苦労しています。
アイデアは次のとおりです。
ユーザー ( ) は、他の 2 人のユーザー (および)current_user
間の互換性を評価します。互換性を肯定的または否定的に評価できます。2 人のユーザーを「互換性がある」と評価すると、user_a と user_b の間に が作成され、「互換性がない」と評価すると. したがって、positive_connection、negative_connection、およびユーザーのモデルがあります。user_a
user_b
positive_connection
negative_connection
ここで、あるユーザーのみを表示する必要がありますoverall_positively_connected_to(@user)
(つまり、 where positive_connections_to(@user).count > negative_connections_to(@user).count)
.
これは私がしなければならないところですが、それ以上先に進むことはできません:
ユーザーモデル:
def overall_positive_connected_to(user)
positive_connections_to(user).count > negative_connections_to(user).count
end
def positive_connections_to(user)
positive_connections.where("user_b_id = ?", user)
end
def negative_connections_to(user)
negative_connections.where("user_b_id = ?", user)
end
コントローラ
@user.user_bs.each do |user_b|
if user_b.overall_pos_connected_to(@user)
@compatibles = user_b
end
end
コントローラーのコードは明らかに間違っていますが、これを行うにはどうすればよいですか? 私はレール(およびSQL)にまったく慣れていないので、素朴なことをしたかもしれません。
どんな助けでも素晴らしいでしょう。