我有三个模型User
:Product
和Loan
。贷款有 a borrowing_date
、 areturning_date
和current
布尔值。
- 我想防止用户多次要求借用产品。
- 我想防止我的贷款模型有不止一笔当前贷款。
我怎样才能做到这一点 ?
这是我的试验,但结果并不正确:
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