0

私は twitter.com のように (そして他の多くのサイトがそうしているように)、ユーザーに次のような URL を提供したいと考えています。

http://mysite.com/theirusername

現在、私の User モデル検証の 1 つは、ハードコードされたリストからブラックリストに登録されたユーザー名を単純に拒否します。

リストをハードコーディングするよりも良い方法はありますか? たとえば、ルートを調べます(コード例?)

そのようなサイトを運営している人からの知恵の言葉は、価値があります! 何らかの新機能に URL を使用したいのに、誰かがそれをユーザー名として使用しているというシナリオに遭遇したに違いありません。それは頻繁に起こりますか、それを処理する方法は何ですか? いつでも別の名前を選択したり、サブドメインを使用したり、ユーザーに名前の変更を依頼したりできます。おそらく、いくつかの一般的な英語の名詞をブラックリストに載せる価値があるでしょうか? 他のもの?

4

1 に答える 1

1

これを使って:

get ':id', :to => "users#show"

次に、 http://mysite.com/theirusernameのようなことができます。アクション内でUsersController#showを使用する必要がありますUser.find_by_username(params[:id])

将来使用したいユーザー名を誰かが既に使用している場合は、変更を知らせるメールを送信し (利用規約にもこの旨を記載する必要があります)、変更するための期間を与えます。変化。

ブラックリスト機能を持つことを目指すべきです。これは、モデル内の単語のリストを使用して簡単に実行でき、Userそれを でチェックできますvalidates_exclusion_of

于 2012-01-02T22:30:14.660 に答える