метод класса по запросу активных записей - PullRequest
1 голос
/ 27 июля 2011

Учитывая, что у меня есть модель / таблица с встречами, сохраненная как дата Я хочу создать метод, который возвращает мне только активные записи. Один для всех записей, один для объекта. Является ли мой подход улучшаемым / комбинируемым? Спасибо за совет!

def self.actives
  where("start_time >= ?", Date.today)
end

def is_active
  where("start_time >= ?", Date.today)
end

1 Ответ

5 голосов
/ 27 июля 2011

Области являются правильным способом обработки вашего первого фильтра. Смотрите документ: http://api.rubyonrails.org/classes/ActiveRecord/NamedScope/ClassMethods.html

Ваш второй фильтр не будет работать, замените на:

def is_active?
  start_time >= Date.today
end

Я не понимаю, почему вы хотите объединить оба метода.

Помните, что:

  • Model.actives предоставит вам связь ActiveRecord. Вы должны добавить .all, чтобы вызвать вызов. Тогда у вас будет массив для итерации.

  • instance.is_active? обеспечит логическое значение

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