Как я могу назначить таблице пользователей случайное число от 1 до 9, не сохраняя его в базе данных (чтобы вспомнить его позже).
Есть ли способ хешировать их user_id для возврата числа между диапазоном (а затем получать одно и то же число для этого пользователя каждый раз, когда эта функция будет вызвана).
2 ответа
Я знаю, что следующий способ не является оптимальным, но он работает и гарантированно возвращает the same
случайное число от 1 до 9, которое будет уникальным для каждого пользователя, т.е. вам не нужно хранить его в своем база данных:
require 'digest/md5'
def unique_number_for(user)
hash = (Digest::MD5.new << user.id.to_s).to_s
hash.split("").map(&:to_i).detect {|a| a > 0}
end
Очевидное решение:
id.to_s[-1,1]
Похожие вопросы
Новые вопросы
ruby-on-rails
Ruby on Rails - это полнофункциональная платформа веб-приложений с открытым исходным кодом, написанная на Ruby. Он следует популярной модели фреймворка MVC и известен своим подходом «соглашение поверх конфигурации» при разработке приложений.