2012-03-08 8 views

答えて

12

私はこのようにそれを行うだろう:

Item.where(:widget_id => 123).all[1..-1] 
+0

これは(おそらくちょうどこの正確なコードでしょう)私はこれを扱うのが最も簡単で明白な方法だと思います。 –

+0

これは 'ActiveRecord_Relation'ではなく' Array'を返します。 – davideghz

4

また、あなたがオフセットを使用し、非常に高いリミットで制限されることがあります。

Item.where(:widget_id => 123).limit(18446744073709551610).offset(1) 

Mysql Offset Infinite rowsを参照してください。スコープ付き

1

これは今まさに

class Item < ApplicationRecord 
    scope all_but_first -> { all[1..-1] } 
end 

に答えすることができますしかし、私はあなたが「すべてが、最初の」で何を意味するか知っていることを確認すること助言します。最初に作成された、最新の、最低のIDを意味しますか?そのことを知ったら、注文をスコープに追加することができます。

scope :all_but_first, -> { order(created_at: :desc)[1..-1] } 
関連する問題