2013-12-20 1 views
1

В классе бронирования Я указал номер, с которого нужно начинать. Код, как этотЯ хочу начать номер с 001 в рельсах

class Booking < ActiveRecord::Base 
MAGIC_NUMBER = 001 # order ref start from 001 to add some obscurity 

У меня есть функция, чтобы сгенерировать номер заказа, как этот

def generate_ref_sequence 
    count = Booking.new_today.count 
    self.ref = "#{market}#{Date.today.strftime("%y%m%d")}#{"%d" % (MAGIC_NUMBER+count+1)}" 

    end 

Там нет ошибок в генерации последовательности. Но я хочу HK131220009 Но я получаю HK1312209. Я хочу, чтобы генерировать 001, 002, 003 затем 010, 011, 012 Тогда затем затем 101 .... и так далее.

+1

'«% 03d»% 1' использовать для форматирования числа, как вы хотите – devanand

ответ

0

Изменение %d до %03d устранит вашу проблему.

Или вы можете использовать %s и с (MAGIC_NUMBER+count+1).to_s.rjust(3, '0')

Смежные вопросы