したがって、いくつかの単純なユーザー モデルと、パスワードを更新するためのフォームがあります。
@user.update_attributes(:password=>params[:password])
しかし、これはうまくいきませんでした。
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."auth_token" = 'z7KU4I0IXLjiRMpdF6SOVQ' LIMIT 1
User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."password_reset_token" = 'aMOjTN0ikPUOJo2JMVoDtQ' LIMIT 1
(0.0ms) BEGIN
User Exists (1.0ms) SELECT 1 AS one FROM "users" WHERE (LOWER("users"."email") = LOWER('somemail@mail.ru') AND "users"."id" != 1) LIMIT 1
(0.0ms) ROLLBACK
Redirected to http://localhost:3000/edit_user_by_reset?reset_token=aMOjTN0ikPUOJo2JMVoDtQ
3 番目の選択では、一意性の検証に失敗したことがわかります。それが ROLLBACK の理由です。もちろんUPDATEアクションであるため、DBにはそのような行があります。私は何をすべきか?ここはパスしたくない:validate=>false
。