gpt4 book ai didi

ruby-on-rails - 如何使 Rails 模型无效

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:44 25 4
gpt4 key购买 nike

我有一个独特产品的产品模型。所以当一个用户购买了这个模型后,没有人可以再次购买它,卖家不能和买家是同一个人。

当我购买产品时,我调用方法 product.buy(buyer)。但是当buyer = seller 和date.sale != nil 时,这种方法应该使模型无效。但这不起作用。我该如何解决?

   def buy(buyer)
if self.user != buyer

if self.date_sale.nil?
self.date_sale = Time.now
self.buyer = buyer
else
# self.errors.add(:buyer, "article bougth") # Dont't work
end
else
# self.errors.add(:buyer, "seller can not buyer") # Dont't work
end
end

最佳答案

要处理 nil date_sale,请将其添加到您的模型之上:

validate_presence_of :date_sale

检查是否买家 != 卖家你可以做

validate :buyer_is_not_seller

def buyer_is_not_seller
errors.add(:buyer, "shouldn't be seller") if buyer.id == seller.id
end

关于ruby-on-rails - 如何使 Rails 模型无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4920829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com