0

開発でDeviseを完全に使用しているRailsアプリがあります。電子メールアドレスの代わりにユーザー名を使用するように、公式のDeviseドキュメントに従って変更しました。SQLiteの代わりにMySQLも使用しています。

ログインするとき、開発中、「admin」と入力して、ユーザー「Admin」としてログインできます。ただし、本番環境では、「admin」は機能せず、大文字と小文字を区別する「Admin」を入力する必要があります。

MySQLデータベースの設定が異なると思いますか?

4

2 に答える 2

3

ここでは、と呼ばれるログイン用の属性があると想定していますlogin。の場合は、以下usernameの代わりにそれを使用してloginください。Devise初期化子には、次の設定があります。

config.case_insensitive_keys = [ :email ]

への変更

config.case_insensitive_keys = [ :email, :login ]

この意志:

これらのキーは、ユーザーの作成または変更時、およびユーザーの認証または検索に使用されるときに小文字になります。デフォルトは:emailです。

したがって、管理者のログインを一度更新する必要があるかもしれませんが、管理者または管理者を入力すると、管理者が検索して認証します。

于 2012-07-03T15:03:55.540 に答える
0

一般的に、工夫のために次のように行います。これがAdminUserモデルに当てはまるかどうかを確認できますか

validates :email,:presence => true,
    :format => {:with=>email_regex,:message => "not a valid email"},
    :uniqueness => {:case_sensitive => false}
于 2012-07-03T13:12:01.023 に答える