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

问题描述

我有一个Produt模型,如果用户留空白,则需要生成一个随机数。我该如何实现?

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

我尝试了此方法,并调用了before_save:set_random_number()。但这是行不通的。你们能帮我吗?

解决方法

您没有在模型中分配randon编号,请将您的方法更改为此:

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