Ответы пользователя по тегу Ruby on Rails
  • Как организовать генерацию уникального 5-тизначного номера заказа (только цифры) в ruby on rails?

    gleberof
    @gleberof
    это я
    Если хотите простой номер (5 значный), дайте доступ к заказу только тем кто его заказал (после авторизации) Т.е. если посетитель не авторизован или не заказывал конкретный заказ - его всегда приземляет например на страницу авторизации (или если авторизован - такого заказа нет). Это не сложно сделать с помошью before_filter в контроллере.

    Сам номер рекомендую формировать по простому правилу (так чтобы по нему легко было ориентироваться либо клиенту, либо клиентской службе). Например зашивать в него дату (номер недели в году и номер дня в недели, например, это 3 цифры. Еще 2 на номер заказа в этот день.).
    Номер заказа на текущий день можно выбирать, например, из массива чисел от 0 до 99 и выяеркивать случайным образом и удалать выбранное число из массива. Понятно что если будет более 100 заказов в день - этот алгоритм не позволит сформировать 101 заказ.
    Ответ написан