私はウェブサイトでrails 2.3.5とAuthlogicを使用しています。私は、複製された電子メールを保存しようとしているユーザーのhoptoadによってデータベースにエラーが発生しています。問題は明らかに、モデルにvalidates_uniqueness_of :email
があることです。validates_uniqueness_ofの問題
ここでのテストでは、予想される検証エラーが発生し、ユーザーは保存されませんが、本番ではこのエラーがDBレイヤーで発生し続けます。
私は大文字と小文字を区別する電子メールでテストし、正しく検証しました。
私がチェックし、クラスと全くattr_accessorまたは他の属性のオーバーライドが存在しない、と私は本番で何が起こって何ができるか... Authlogicは間違った方法でそれを行うだろう
思いませんか?しましたかレールの検証がうまくいかない場合はありますか?
はい、私は電子メールがすでに存在しているときhoptoadがエラーをスローしてはいけません知っています。それは、単に「この電子メールはすでに使用中です」というメッセージとともに、検証してフォームに戻るべきです。ほとんどの場合、その動作は起こっていますが、レールがすでに存在する電子メールを検証しているため、ユーザーを保存しようとします。そのため、データベースはUNIQUEインデックスのためにエラーをスローします。私はそれを再作成しようとしていますが、同じデータであっても、エラーの代わりに正しい動作をします。/ – Draiken