2012-01-25 16 views
2

私のデータベースに@articlesがあり、それをクエリしたいが、最新の記事をフィルタリングして残りの部分をすべて返したい。最初の部分を除くすべての@articlesを返す

@articles = Article.find(:all, :order => "id desc") 

と私は、私の見解でループ実行しています:

私のコントローラがある

<% @articles.each do |article| %> 
... 
<% end %> 

私は、フィルタのいくつかの並べ替えを適用すべき場所であるかもしれないビューを想像していますが、ことができますが、これまでの検索ではドキュメントが見つからないようです。

うまくいけば簡単でしょうか?

ご協力いただきありがとうございます。 の

答えて

1

使用

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

何の記事が存在しない場合は、このソリューションは機能しません。そして、 'RuntimeError:' Article.last'が存在しないので、間違って4となるnilの呼び出しIDを発生させます。 – Frost

+0

Ya私はこの問題を解決します。アクティブなレコードオブジェクトとしてidを削除しました。 –

4

これはあなたの問題を解決する必要があります。

@articles = Article.order("id desc").offset(1).all 
関連する問題