如何使用friendly_id使用随机数模糊用户ID

时间:2016-06-05 01:00:48

标签: ruby-on-rails random slug friendly-id userid

当我的新网站推出时,用户很少。目前用户的个人资料页面是/ users /:id,因此在早期阶段它将是/ users / 6等。我不希望其他人知道该网站有多少用户。我认为带有数字和字母的长id(例如uuid)看起来很难看,所以我更喜欢它只是数字。

如何使用friendly_id gem创建一个也是唯一的随机数slug?这也是我的第一个网站,所以任何"最佳实践"有关用户ID混淆的提示会很有帮助。感谢。

1 个答案:

答案 0 :(得分:1)

这是现有项目的一个例子:

class User < ActiveRecord::Base
  extend FriendlyId
  friendly_id :email, use: [:slugged, :finders]

  def normalize_friendly_id(email)
    Digest::MD5.hexdigest(email)
  end

  def should_generate_new_friendly_id?
    slug.blank?
  end
end

您可以使用以下内容将MD5更改为随机数:

SecureRandom.random_number(1_000_000_000)