我为我的最新帖子创建了一个部分,并为所有帖子创建了一个部分。但是,我上次创建的帖子会显示两次。
在我的控制器中,如何显示除上一篇文章以外的所有帖子?
MainController
def index
@post = Post.all.order('created_at DESC')
@latest_post = Post.ordered.first
end
答案 0 :(得分:3)
def index
@posts = Post.all.order('created_at DESC').to_a
@latest_post = @posts.pop
end
我不完全确定你在考虑“第一”记录的结果哪一方,所以如果@posts.pop
似乎给你你认为的“最后”记录,那么使用@posts.shift
从相反的一端删除记录。
答案 1 :(得分:1)
这不会在@latest_post
@post
def index
@latest_post = Post.ordered.first
@post = Post.where.not(id: @latest_post.id).order('created_at DESC')
end
或者只是
def index
@latest_post = Post.last
@posts = Post.where.not(id: @latest_post.id).order('created_at DESC')
end