1

我正在开发一个企业应用程序,并希望使用具有长/非平凡 id 的 url,而不是常规的增量 id。

例如,我想要http://mysite.com/users/23lkfjls0934http://mysite.com/companies/23lkfjls0934而不是http://mysite.com/users/3http:// /mysite.com/companies/company-name

实现此结果要遵循哪些步骤(迁移、关联、模型...)以及在构建此功能时要记住哪些重要事项?

4

1 回答 1

0

您可以使用friendly_id gem 来做相反的事情:使 URL 尽可能不友好:)

向您的表添加一个新字段,它将存储您的长密钥。然后像这样使用它:

class User < ActiveRecord::Base
  extend FriendlyId
  friendly_id :name, use: :long_random_key
end

before_create例如,您可以在挂钩中初始化这个长键。

class User < ActiveRecord::Base
  extend FriendlyId
  friendly_id :name, use: :long_random_key

  before_create :generate_long_random_key

  private
  def generate_long_random_key
    self.long_random_key = SecureRandom.hex(32)
    # TODO: Make sure it's unique
  end
end
于 2012-12-26T23:05:35.773 回答