1

デバイスを使用して、彼の電子メールに基づいて自動的にユーザー名を作成することは可能ですか?

登録ページには、メールとパスワードのフィールドしかありません。

たとえば、ユーザーが emailrandomname@gmail.comで新しいアカウントを作成すると、ユーザー名が自動的にrandomname. どうすればそれを達成できますか?

4

2 に答える 2

8

のような正規表現を使用して、電子メール アドレスの最初の部分を取得できます。これにより、記号^[^@]+の前の文字列の先頭からすべてが返されます。@

^ /* start of string or line */
[^@] /* character class capturing everything except @ */
+ /* match must happen atleast one time */

ユーザー名をデータベースに追加するには、callbackを使用できます。

class User < ActiveRecord::Base
  before_create :set_username

  private
    def set_username
      self.username = self.email[/^[^@]+/]
    end
end
于 2012-05-06T21:33:21.267 に答える