Rails3.2とDeviseを使用しています。Deviseは、ユーザーがパスワードフィールドに入力し、パスワード確認フィールドに入力してから、Webサイトが確認メールを送信したり、サインアップ登録を処理したりするのと同じように、「メール(アドレス)確認」フィールドを提供するのでしょうか。 。そうでない場合は、email_confirmationを追加して、ユーザーモデルを検証する必要があります(rails g devise Userの後)?
前もって感謝します
Rails3.2とDeviseを使用しています。Deviseは、ユーザーがパスワードフィールドに入力し、パスワード確認フィールドに入力してから、Webサイトが確認メールを送信したり、サインアップ登録を処理したりするのと同じように、「メール(アドレス)確認」フィールドを提供するのでしょうか。 。そうでない場合は、email_confirmationを追加して、ユーザーモデルを検証する必要があります(rails g devise Userの後)?
前もって感謝します
devise があなたが求めていることを実行するかどうかはわかりません (質問は :password_confirmation に似た 2 番目の :email_confirmation フィールドを参照しています。「確認可能」は確認リンクのみに関連しているようです)。私もこれを行う必要があり、組み込みのアクティブレコード検証を使用してそれを行う方法を見つけました(レール3.2.8、デバイス2.1.2):
confirmation: true
モデルで、メール検証と:email_confirmation
に追加しますattr_accessible
。:email_confirmation
ます。例として、あなたのモデルで(他の検証やattr_accessiblesを想定していません):
attr_accessible :email, :email_confirmation
validates :email, confirmation: true
これは、組み込みのアクティブ レコードの「確認」検証を使用します (パスワードと同じ)。最後に、ビューに次のようなものを追加する必要があります。
<div><%= f.label :email_confirmation %>
<%= f.email_field :email_confirmation %></div>
よりクリーンな方法があるかもしれませんが、これは私にとってはうまくいきました。ただし、これまでのdeviseの唯一の経験は、既存のモデルに追加するときであり、モデルを生成するときに使用したことはありません(おそらくほとんど同じです)。
この関数を実行すると、宝石がインストールされていると仮定します。
rails generate devise:install
参照している方向に進む必要がある email_confirmation のものを含む移行ファイルが生成されます。あなたがしなければならないのは、それをコメントアウトしないことだけです。それ以外の場合は、必要のない他のすべてのものをコメントアウトします。
あなたが参照しているモジュールは確認可能と呼ばれます
あなたがまだこれを見つけていないと仮定すると、このリンクは残りを説明します: