วันนี้เอาทริปอาจจะไม่เด็ดเท่าไรเพราะ programmer ทั่วไปคงรู้กันแล้ว แต่สำหรับมือใหม่คงต้องใช่ครับ สำหรับใครที่ต้องการจะแสดงผลเป็น 0001 แต่มีตัวเลขแค่ 1 เราสามารถใช้งาน rails sprintf ซึ่งมีให้ใช้งานอยู่แล้ว
1 2 | sprintf('%04i', 1) #result 0001 |
แล้วถ้าเกิดผมต้องการใช้ตัวเลขมี prefix และ auto generate อัตโนมัติเมื่อสร้างขึ้นมาจะทำอย่างไรลองมาดูกันครับ สำหรับเลขชุดที่ผมต้องการตอ้งขึ้นต้นด้วย TX01H และมีลำดับตามเป็นเลข 4 ตัวเรียกกันไปครับคือ 0001… มาดูโค้ดกันครับ
1 2 3 4 | @last_txaction = Txaction.find(:first,:conditions=>["code like ?","TX01H%"],:order => "code desc") #find last code result =>TX01Hxxxx code = @last_txaction ? @last_txaction.code.gsub("TX01H","").to_i+1:1 #if not found start code from 1 @txaction.code = "TX01H"+sprintf('%04i', code) |
เป็นอันว่าเรียบร้อยครับ
12 views

