Rails 5查询从我正在查看的帖子以外的相同类别中提取帖子

时间:2017-09-12 16:02:33

标签: sql ruby-on-rails ruby ruby-on-rails-5

我正在尝试在帖子详细信息页面上显示来自同一类别的3个其他帖子。所以我有这个问题:

  def show
    @posts_from_same_category = Post.where(category_id: @post.category_id).limit(3).order("RANDOM()")
  end

所以页面结构如下:

  • 帖子标题
  • 帖子文字
  • (标题)来自同一类别的更多帖子
  • 其他帖子标题1
  • 其他帖子标题2
  • 其他帖子标题3

它会返回所有帖子,包括我正在查看的帖子。 如何编写查询以提取我当前正在查看的帖子以外的帖子?

谢谢

1 个答案:

答案 0 :(得分:3)

您可以添加另一个条件来排除当前帖子:

@other_posts = @post.category.posts.where.not(id: @post.id).limit(3).order('RANDOM()')