私のアプリでカスタマイズされていないバージョンのDeviseを使用していて、リセットされたパスワード機能に問題があります。Devits PUTの代わりにパスワードのリセット
デフォルトのリセットパスワードフォームの方法は、PUTすることですが、フォームを送信するとPOSTによって、メールフィールドが見つからないというエラーが表示されます。 DeviseのPasswordsControllerのPOST/createメソッドは、ユーザーにパスワードリセットリンクを電子メールで送ります。 PUT /更新方法は、パスワードを実際にリセットする方法です。
どのような工夫でも変更されていません。工夫のバージョンは3.5.7で、Railsは、私がここに要旨に関連するコードのすべてを入れている4.2.6
です:あなたのログにhttps://gist.github.com/dsarhadian/a7950e480bffc2906f77b0e542792f5a
すべてのヘルプは本当に感謝される...
edit.html.erbとform.html.erbは同じものです。 (私はそれを反映する要点を更新した)。何が起こるかは、フォームPOSTではnew.html.erbフォームに移動します。 –
私が心配しているのは、edit.html.erbとsource.htmlが同じではないということです。 edit.html.erbをレンダリングする場合、source.html.erbにはPUTするメソッドが必要です(source.htmlの17行目を参照)。 edit.html.erbをレンダリングしていますか? –
私は多くのドキュメントを読んでおり、それはmethod = "post"を置くと言われています。 Railsはのように隠し入力を生成します。それでレール*はPUTメソッドを使うべきです。 http://guides.rubyonrails.org/form_helpers.html#how-do-forms-with-patch-put-or-delete-methods-work-questionmark –