Devise ユーザーネームとパスワードでログインしたい
deviseでは、最初の状態だと、メールアドレスとパスワードでログインするようになっているので、ユーザーネームとパスワードでログインできるように変更したい。
すでにdeviseはインストールされていることが前提
Userテーブルを作成する。
rails g devise users
で作成する。
Userテーブルが作成されたねー
ユーザーネームを収納するカラムを作成する。
deviseが用意したテーブルにはユーザーネームを収納するカラムがない!
ので、カラムを作成する。
ターミナルで、
rails g migration AddUsernameToUsers name_string
実行。
新しいカラムを作る時に、最初の文字は大文字にするって教えられたけど、アンダーバーでも良さそう。よくわかりません。
そして
rails db:migrate
ユーザーネームのカラムができましたねー
application_controllerに書き加える。
deviseで用意されたコントローラーは、直接修正することができないので、ユーザーネームを追加したよってことをapplication_controllerに書き加えなければいけない。
before_action :configure_permitted_parameters, if: :devise_controller?
これは、actionが実行される前に、configure_permitted_parameters
が実行されるよ、ってこと
それでこの後に、
configure_permitted_parameters
を定義する。
protected
def configure_permitted_parameters
added_attrs = [ :username]
end
end
これは、usernameのデータ操作していいよって言ってるものです。
これでおっけー!
Author And Source
この問題について(Devise ユーザーネームとパスワードでログインしたい), 我々は、より多くの情報をここで見つけました https://qiita.com/nemui_yo/items/50e84947798a731f2278著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .