如何为模型设置随机数before_save?

How to set a random number before_save for a model?

我有一个产品模型,如果用户留空,我需要生成一个随机数。我怎样才能做到这一点?

  def self.set_random_number()
   if self.code == null
    self.code.rand(1000..99999)
   end
  end

我试过这个方法,调用了before_save:set_random_number()。但它不起作用。你们能帮帮我吗?

您没有在模型中分配随机数,请将您的方法更改为:

before_save :set_random_number

def set_random_number
 self.code = rand(1000..99999) if self.code.blank?
end

试试下面的方法:

before_save :set_random_number

def set_random_number
  return if code.present?

  self.code = rand(1000..99999)
end