2011-01-30 5 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) 
관련 문제