为了在用户的“显示”页面上显示这些记录,我很难提取一组与用户自引用相关的记录。
这是想法:
用户 ( ) 对其他两个用户 (和)current_user
之间的兼容性进行评分。他们可以对兼容性进行正面或负面评价:将两个用户评为“兼容”会在 user_a 和 user_b 之间创建 a,将他们评为“不兼容”会创建一个. 所以有positive_connection、negative_connection和user的模型。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
控制器中的代码显然是错误的,但我应该怎么做呢?我对rails(和sql)完全陌生,所以可能做了一些天真的事情。
任何帮助都会很棒。