0

我有三个模型UserProductLoan。贷款有 a borrowing_date、 areturning_datecurrent布尔值。

  • 我想防止用户多次要求借用产品。
  • 我想防止我的贷款模型有不止一笔当前贷款。

我怎样才能做到这一点 ?

这是我的试验,但结果并不正确:

def only_one_current_loan
  errors.add(:current, I18n.t('validation.loan.only_one_current')) unless Loan.find_by(product: self.product, current: true).count < 1
end

def only_one_request_at_a_time
  errors.add(:product_id, I18n.t('validation.loan.only_one_request_at_a_time')) unless Loan.where(product_id: self.product.id, user_id: self.user.id, borrowing_date: nil).count < 1
end
4

0 回答 0