7

Rails3.2とDeviseを使用しています。Deviseは、ユーザーがパスワードフィールドに入力し、パスワード確認フィールドに入力してから、Webサイトが確認メールを送信したり、サインアップ登録を処理したりするのと同じように、「メール(アドレス)確認」フィールドを提供するのでしょうか。 。そうでない場合は、email_confirmationを追加して、ユーザーモデルを検証する必要があります(rails g devise Userの後)?

前もって感謝します

4

4 に答える 4

13

devise があなたが求めていることを実行するかどうかはわかりません (質問は :password_confirmation に似た 2 番目の :email_confirmation フィールドを参照しています。「確認可能」は確認リンクのみに関連しているようです)。私もこれを行う必要があり、組み込みのアクティブレコード検証を使用してそれを行う方法を見つけました(レール3.2.8、デバイス2.1.2):

  1. confirmation: trueモデルで、メール検証と:email_confirmationに追加しますattr_accessible
  2. ビューにフィールドを追加し: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の唯一の経験は、既存のモデルに追加するときであり、モデルを生成するときに使用したことはありません(おそらくほとんど同じです)。

于 2012-08-21T19:57:29.083 に答える
-3

この関数を実行すると、宝石がインストールされていると仮定します。

rails generate devise:install

参照している方向に進む必要がある email_confirmation のものを含む移行ファイルが生成されます。あなたがしなければならないのは、それをコメントアウトしないことだけです。それ以外の場合は、必要のない他のすべてのものをコメントアウトします。

あなたが参照しているモジュールは確認可能と呼ばれます

あなたがまだこれを見つけていないと仮定すると、このリンクは残りを説明します:

Deviseでメール確認を設定するにはどうすればよいですか?

于 2012-08-13T23:16:00.047 に答える