2011-01-30 2 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) 
Смежные вопросы