Учитывая @комментарии - как исключить первую запись - PullRequest
0 голосов
/ 30 января 2011

задано @comments = Comments.last(6), который запрашивает на основе именованной области действия модели по умолчанию.

Как я могу по существу сказать Rails дать мне последние 6 записей ИСКЛЮЧИТЬ первую запись?
И если их меньше 6, просто дайте мне как можно больше 6, опять же, исключая первую запись?

Спасибо

Ответы [ 2 ]

2 голосов
/ 30 января 2011

Я бы, вероятно, использовал бы здесь грубую силу, а не магию SQL:

@comments.delete_at(0)
1 голос
/ 30 января 2011
class Comment < ActiveRecord::Base
  scope :excluding_first, lambda {
    first = Comment.first
    return [] unless first
    where("id <> #{first.id}")
  }
end

Поскольку области охвата составляют, вы можете сделать:

Comment.excluding_first.last(6)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...