在Show Action上显示当前帖子以外的帖子

时间:2013-10-23 20:30:08

标签: ruby-on-rails ruby loops ruby-on-rails-4

这可能是一个简单的问题,但在我的生活中找不到它..

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

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

我认为你可以做到

.except(@post)

或类似的东西,以排除当前的帖子,但没有做到这一点。有谁知道怎么做?

1 个答案:

答案 0 :(得分: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