简体   繁体   English

如何为 model 设置随机数 before_save?

[英]How to set a random number before_save for a model?

I have a Produt model, that if the user left blank, I need to generate a random number.我有一个产品 model,如果用户留空,我需要生成一个随机数。 How can I achieve that?我怎样才能做到这一点?

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

I tried this method, and called before_save:set_random_number().我尝试了这种方法,并调用了 before_save:set_random_number()。 But it doesn't work.但它不起作用。 Could you guys please help me?你们能帮帮我吗?

You're not assigning the randon number in the model, change your method to this:您没有在 model 中分配随机数,请将您的方法更改为:

before_save :set_random_number

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

Try the below:试试下面的:

before_save :set_random_number

def set_random_number
  return if code.present?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM