除第一篇文章外,返回所有文章。

3
我有@articles在我的数据库中,我想查询它,但是过滤掉最近的一篇文章,然后返回其余所有文章。
我的控制器代码如下:
@articles = Article.find(:all, :order => "id desc")

我正在视图中运行一个循环:
<% @articles.each do |article| %>
...
<% end %>

我想,我应该在视图上应用某种筛选器,但是到目前为止,在我的搜索中似乎找不到任何相关的文档。希望这个问题比较简单?谢谢你的帮助!
2个回答

6
这应该能解决您的问题:
@articles = Article.order("id desc").offset(1).all

1

使用

@articles = Article.find(:all, :order => "id desc", :conditions=>["id !=?", Article.last])

如果没有文章,这个解决方案将无法工作。那么它会引发一个 RuntimeError: Called id for nil, which would mistakenly be 4,因为没有 Article.last - Frost
是的,我同意。将 ID 作为 Active Record 对象删除可以解决这个问题。 - Soundar Rathinasamy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接