Итак, у меня есть простой список задач, в котором задачи действуют как список в области: tasklist. Теперь каждая задача может быть отмечена как заархивированная и выходит из списка.Rails act_as_list настраиваемая область
Мне нужна область действия act_as_list, чтобы включить условие WHERE archived = FALSE.
Я нашел это сообщение: http://macdiggs.com/2007/08/27/customizing-scope-in-acts_as_list/, но это с 2007 года и не работает для меня. Также я использую postgres, поэтому я не хочу hardcode archived = false, поскольку postgres обрабатывает логические значения по-разному от mysql (я думаю).
Я пробовал:
scope :not_archived, -> { where(archived: false) }
scope :siblings, -> { where(tasklist_id: self.tasklist_id) }
acts_as_list :scope => siblings.not_archived
Но это не работает. Переменная self ссылается на класс, а не на экземпляр. Я немного потерян. Заранее спасибо
Привет спасибо за Ваш ответ. Теперь я получаю сообщение об ошибке «неправильное количество аргументов (0 для 1)». Я предполагаю, что последняя строка: siblings.not_archived ожидает аргумент для области siblings: например, например, братья и сестры (5). – MonsieurNinja