[英]How to generate a sequence code string in Rails
我有一個 model 有一個名為code
的列,它是模型的 name 列及其 ID 與前導零的組合。
name = 'Rocky'
id = 16
我有一個after_create
回調,它運行並生成代碼:
update(code: "#{self.name[0..2].upcase}%.4d" % self.id)
生成的代碼將是:
"ROC0016"
代碼正在運行。
我從另一個項目中找到了(%.4d" % self.id)
,但我不知道它是如何工作的。
它如何根據傳遞的 integer 確定要在前面的零的數量。
百分號 (" %
") 后面是一個小數 ( "."
) 和一個數字。 該數字是結果中的總位數。 如果結果小於此值,將添加額外的零。
因此,在第一個示例中,結果為“34”,但長度設置為“ 4
”。 結果將有兩個前導零以將其填充為四位數字。
"This is test string %.4d" % 34
result => "This is test string 0034"
"I want more zeroes in my code %.7d" % 34
result => "I want more zeroes in my code 0000034"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.