2011-01-30 36 views
0

給出@comments = Comments.last(6),該查詢基於該模型的默認命名的範圍。鑑於@comments - 如何排除第一條記錄

我怎麼能告訴實質上對Rails給我最後的6條排除了第一個記錄?
如果有小於6,只要給我儘可能多的高達6越好,再次排除了第一個記錄?

感謝

回答

1
class Comment < ActiveRecord::Base 
    scope :excluding_first, lambda { 
    first = Comment.first 
    return [] unless first 
    where("id <> #{first.id}") 
    } 
end 

由於示波器組成,你可以再做:

Comment.excluding_first.last(6) 
2

我可能會使用暴力,而不是SQL的魔法在這裏:

@comments.delete_at(0)