在我的rails应用程序中,我使用acts_as_votable gem允许对我的Post模型进行投票。
我正在尝试检索当前用户尚未投票或投票的所有帖子的列表。 我该怎么做?
这为我提供了对特定帖子投票的所有用户的ID列表。我是否需要在所有帖子上运行此方法并针对当前用户进行扫描并绘制结果,或者是否有更有效的方法来执行此操作?
@post.votes_for_ids
答案 0 :(得分:2)
用户可以使用以下方法,请参阅github doc
@user.find_voted_items
@user.find_up_voted_items
@user.find_liked_items
@user.find_down_voted_items
@user.find_disliked_items
所以使用这些方法你可以
@not_voted_on = Post.where.not(id: @user.find_voted_items.map(&:id))