開発でDeviseを完全に使用しているRailsアプリがあります。電子メールアドレスの代わりにユーザー名を使用するように、公式のDeviseドキュメントに従って変更しました。SQLiteの代わりにMySQLも使用しています。
ログインするとき、開発中、「admin」と入力して、ユーザー「Admin」としてログインできます。ただし、本番環境では、「admin」は機能せず、大文字と小文字を区別する「Admin」を入力する必要があります。
MySQLデータベースの設定が異なると思いますか?
開発でDeviseを完全に使用しているRailsアプリがあります。電子メールアドレスの代わりにユーザー名を使用するように、公式のDeviseドキュメントに従って変更しました。SQLiteの代わりにMySQLも使用しています。
ログインするとき、開発中、「admin」と入力して、ユーザー「Admin」としてログインできます。ただし、本番環境では、「admin」は機能せず、大文字と小文字を区別する「Admin」を入力する必要があります。
MySQLデータベースの設定が異なると思いますか?
ここでは、と呼ばれるログイン用の属性があると想定していますlogin
。の場合は、以下username
の代わりにそれを使用してlogin
ください。Devise初期化子には、次の設定があります。
config.case_insensitive_keys = [ :email ]
への変更
config.case_insensitive_keys = [ :email, :login ]
この意志:
これらのキーは、ユーザーの作成または変更時、およびユーザーの認証または検索に使用されるときに小文字になります。デフォルトは:emailです。
したがって、管理者のログインを一度更新する必要があるかもしれませんが、管理者または管理者を入力すると、管理者が検索して認証します。
一般的に、工夫のために次のように行います。これがAdminUserモデルに当てはまるかどうかを確認できますか
validates :email,:presence => true,
:format => {:with=>email_regex,:message => "not a valid email"},
:uniqueness => {:case_sensitive => false}