2017-09-12 18 views
1

我試圖在帖子詳細信息頁面顯示來自同一類別的其他3個帖子。所以我有這個疑問:Rails 5查詢從我正在查看的帖子以外的其他類別中提取帖子

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

所以頁面結構是這樣的:

  • 職銜
  • 帖子文字
  • (標題)由同一類別的更多帖子
  • 其他文章標題1
  • 其他職位2
  • 其他職位3

它返回包括我正在查看的帖子的所有帖子。 如何編寫查詢來拉取當前正在查看的帖子以外的帖子?

謝謝

回答

3

您可以添加其他條件,排除目前的職位:

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

軌道4具有[where.not(https://robots.thoughtbot.com/activerecords-wherenot)它讀取一點點更好:'.where.not(id:@post:id)' –

+0

@maxpleaner對,謝謝,我正在改變我的回答 –

+0

好!我不知道我們可以在**裏多次寫**。謝謝 – Designer