Использование лямбды в области для возврата записей - PullRequest
0 голосов
/ 12 июня 2018

У меня есть следующие возможности вернуть клиенту баланс.Баланс - это не поле, а функция в модели Client.

def balance
    purch = self.purchases.map(&:total).sum
    pay = self.payments.sum(:amount)
    return purch - pay
end

scope :with_balance, -> { lambda {|client| { conditions: client.balance > 0}}}

В результате получается элемент #<Proc:>, но я не уверен, как получить от него клиентов или еслиэтот подход совершенно неверен.

1 Ответ

0 голосов
/ 13 июня 2018


Привет, Джереми!

scope :with_balance, -> { lambda {|client| { conditions: client.balance > 0}}}

Нет опции для «условий», поэтому я думаю, что использование «select» является разумным решением для фильтрации клиентов с положительным балансом.

Мое решение:

scope :with_balance, (lambda do
  select {|client| client.balance > 0}
end)

Счастливое кодирование:)

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