LoginSignup
14
16

More than 5 years have passed since last update.

Rails4 + Devise3でメールアドレスではなく、ユーザ名でログインする

Posted at

DeviseがRails4に対応しました。

gem 'devise'

で大丈夫です。

メールアドレスではなく、ユーザ名でログインするには

config/initalizers/devise.rb
config.authentication_keys = [ :username ]

に書き換え、Viewを書き換えると昔はできたらしい。(もちらん、usernameカラムは作ってください。

しかし、これだけだとエラーがでる。

上記に加えUserModleemail_required?email_changed?をOverrideすればできるようになった。

User.rb
#UserModel
def email_required?
  false
 end

def email_changed?
  false
end

参考URL

What are good ways to remove email as a required field in devise?

5時間ぐらい探したけど、しれってQuoraに書いてありました。

14
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
16