Acts_as_votable 查询 - rails

Acts_as_votable query - rails

在我的 rails 应用程序中,我使用 acts_as_votable gem 允许对我的 Post 模型进行投票。

我正在尝试检索当前用户未赞成或反对的所有 post 的列表。 我该怎么做?

这为我提供了对特定 post 投票的所有用户的 ID 列表。我是否需要在所有 post 上 运行 此方法并扫描当前用户并绘制结果,或者是否有更有效的方法来执行此操作?

@post.votes_for_ids

用户可以使用以下方法,请参阅 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))