gpt4 book ai didi

ruby-on-rails - Rails 生成以前未使用过的唯一订单号

转载 作者:行者123 更新时间:2023-12-02 01:00:08 25 4
gpt4 key购买 nike

我正在尝试生成一个订单号,并想确保它不只是为了安全而使用。

  1. 我想生成订单号
  2. 在使用之前检查订单号是否未被使用
  3. 如果它在从 1 再次重复之前使用。

唯一生成器

def secure_token
DateTime.now.strftime("%Y/%m/").to_s + SecureRandom.hex(16/4).upcase
end

现在我想编写逻辑来检查它是否未被使用。

while Order.where.not(:order_no => secure_token) do
@order_no = secure_token
end

当我尝试运行上面的程序时,它会一直运行并且永远不会退出。数据库中也没有记录。

最佳答案

更好更正确的方法:

order_no = nil

loop do
order_no = secure_token
break unless Order.exists?(:order_no => order_no)
end

Order.new(:order_no => order_no, ....)

关于ruby-on-rails - Rails 生成以前未使用过的唯一订单号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29695929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com