Вы путаете два здесь разные вещи. UUID является универсальным уникальным идентификатором. Он имеет очень высокую вероятность быть уникальным, даже если миллионы их создавались во всем мире одновременно. Он обычно отображается как строка из 36 цифр. Вы не можете отрубить первые 8 символов и ожидать, что он будет уникальным.
Битл, tinyurl et-al хранить ссылки и генерировать короткий код для представления этой ссылки. Они не восстанавливают URL-адрес из кода, который они просматривают в хранилище данных, и возвращают соответствующий URL-адрес. Это не UUIDS.
Не зная вашего приложения, сложно сообщить, какой метод вы должны использовать, однако вы можете хранить все, что вы указываете, в хранилище данных с помощью цифрового ключа, а затем переустанавливать ключ на base32, используя 10 цифр и 22 строчных букв, возможно, избежать очевидных проблем опечатки, как «о» «я» «л» и т.д.
EDIT
На доследование есть рубин base32 gem доступны, который реализует Douglas Крокфорд-х Base 32 implementation
A 5 символьная строка Base32 может представлять более 33 миллионов целых чисел и 6 цифр на сумму более миллиарда.
спасибо за информацию Стив, да, я думаю, что я действительно неправильно понял принцип uuid:/base32 gem кажется очень приятным, я просто пытаюсь найти правильный способ генерировать короткие URL-адреса на основе идентификаторов записей, я использовал string ID и назначить ему метод UUID, но теперь я могу вернуться к идентификатору целого числа, а затем, если, например, запустив счетчик id 363012, я бы получил строковое представление «B2G4» для него. Я надеюсь, что это может следовать так же, как вы объяснили выше. – zanona
@ludicco. Это именно то, что я говорил. –
@SteveWeet Спасибо за ваш рекомендуемый камень base32 –