Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使rails模型无效_Ruby On Rails_Ruby_Validation - Fatal编程技术网

Ruby on rails 如何使rails模型无效

Ruby on rails 如何使rails模型无效,ruby-on-rails,ruby,validation,Ruby On Rails,Ruby,Validation,我有一个独特的产品模型。因此,当一个用户购买了这个模型,没有人可以再次购买它,卖方不能是同一个人,然后买方 当我将要购买产品时,我称之为方法product.buy(买方)。但是当买方=卖方且date.sale!=无但这不起作用。我怎样才能修好它 def buy(buyer) if self.user != buyer if self.date_sale.nil? self.date_sale = Time.now self.buyer

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

当我将要购买产品时,我称之为方法product.buy(买方)。但是当买方=卖方且date.sale!=无但这不起作用。我怎样才能修好它

   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

要处理无日期销售,请在您的型号上添加以下内容:

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

要处理无日期销售,请在您的型号上添加以下内容:

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

验证内容可能有效:

class Domain
  validates_presence_of :name, on: :renew
end

domain = Domain.new
domain.valid?(:renew) # false

验证内容可能会起作用:

class Domain
  validates_presence_of :name, on: :renew
end

domain = Domain.new
domain.valid?(:renew) # false

小错误:验证:买方不是卖方Hello,谢谢,但我只在用户执行buy方法时才需要此验证。我向销售部确认物品已售出。当我每次在销售日期查看时!=nil,这意味着每一篇文章都已售出。小错误:验证:买家不是卖家Hello,谢谢,但我只在用户执行buy方法时才需要此验证。我向销售部确认物品已售出。当我每次在销售日期查看时!=零,意味着每件商品都被售出。