2016-04-20 17 views
2

私のアプリでカスタマイズされていないバージョンのDeviseを使用していて、リセットされたパスワード機能に問題があります。Devits PUTの代わりにパスワードのリセット

デフォルトのリセットパスワードフォームの方法は、PUTすることですが、フォームを送信するとPOSTによって、メールフィールドが見つからないというエラーが表示されます。 DeviseのPasswordsControllerのPOST/createメソッドは、ユーザーにパスワードリセットリンクを電子メールで送ります。 PUT /更新方法は、パスワードを実際にリセットする方法です。

どのような工夫でも変更されていません。工夫のバージョンは3.5.7で、Railsは、私がここに要旨に関連するコードのすべてを入れている4.2.6

です:あなたのログにhttps://gist.github.com/dsarhadian/a7950e480bffc2906f77b0e542792f5a

すべてのヘルプは本当に感謝される...

答えて

2

それは言う:あなたはedit.html.erbファイルがform.html.erbビューをレンダリングすることを確認し
Rendered devise/passwords/edit.html.erb within layouts/application (3.3ms)

ていますか?
source.htmlファイルを見ると、POSTメソッドのパスを持つ別のフォームがレンダリングされているようです。
form.html.erbはPUTメソッドを使用します。だから間違った形がレンダリングされているように思えます。

+0

edit.html.erbとform.html.erbは同じものです。 (私はそれを反映する要点を更新した)。何が起こるかは、フォームPOSTではnew.html.erbフォームに移動します。 –

+0

私が心配しているのは、edit.html.erbとsource.htmlが同じではないということです。 edit.html.erbをレンダリングする場合、source.html.erbにはPUTするメソッドが必要です(source.htmlの17行目を参照)。 edit.html.erbをレンダリングしていますか? –

+0

私は多くのドキュメントを読んでおり、それはmethod = "post"を置くと言われています。 Railsはのように隠し入力を生成します。それでレール*は​​PUTメソッドを使うべきです。 http://guides.rubyonrails.org/form_helpers.html#how-do-forms-with-patch-put-or-delete-methods-work-questionmark –

関連する問題