1

这可能是一个简单的问题,但我一生都找不到它。

在帖子的显示操作中,我试图在一个小的侧边栏中显示该用户除了当前帖子之外的所有其他帖子。我使用一个循环

@post.user.posts.limit(6).shuffle.each do 

我想你可以做

.except(@post)

或类似的东西来排除当前的帖子,但这并没有奏效。有谁知道如何做到这一点??

4

1 回答 1

2

您可以通过 SQL 轻松完成:

@post.user.posts.where("posts.id <> ?", @post.id).limit(6).shuffle.each do
# same thing but wrote differently:
@post.user.posts.where("posts.id NOT IN (?)", @post.id).limit(6).shuffle.each do 
于 2013-10-23T20:32:49.577 回答