1

私はエンタープライズ アプリケーションを開発しており、通常の増分 ID の代わりに長い / 重要な ID を持つ URL を使用したいと考えています。

たとえば、http: //mysite.com/users/3またはhttp:/の代わりに、 http://mysite.com/users/23lkfjls0934またはhttp://mysite.com/companies/23lkfjls0934のようなものが必要です/mysite.com/companies/会社名

この結果を達成するために従うべき手順 (移行、関連付け、モデルなど) と、この機能を構築する際に留意すべき重要なことは何ですか?

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 に答える