通过添加数字的日期和范围来创建唯一的数字

时间:2018-09-24 04:18:40

标签: ruby-on-rails ruby-on-rails-5

我希望获取created_at年份的后两位数字,并在末尾添加一个数字以获取唯一的数字,并将其保存到我的数据库中。

例如,今年(2018年)和数字1将产生1801。如果存在1801,则创建1802,依此类推。我还需要重新设置下一年(2019)的计数,即1901。

我遇到以下错误:

can't convert Range into Integer

模型

before_create :create_unique_number

  def create_unique_number
    loop do
      self. unique_number = (created_at.strftime("%y")).concat(sprintf '%02d', (1..100))
      break unless self.class.exists?(:unique_number => unique_number)
    end
  end

0 个答案:

没有答案