设计重置密码POST而不是PUT

时间:2016-04-20 00:33:18

标签: ruby-on-rails devise

我在我的应用中使用了非自定义版本的Devise,并且遇到了重置密码功能的一些问题。

默认重置密码表单的方法是PUT但是在提交表单后,它会POST,这会导致它给我一个关于丢失的电子邮件字段的错误。 PassiseController of Devise中的POST / create方法通过电子邮件向用户发送密码重置链接。 PUT / update方法用于实际重置密码。

没有任何设计内容以任何方式被改变。设计版本为3.5.7,Rails为4.2.6

我已将所有相关代码放在Gist中:https://gist.github.com/dsarhadian/a7950e480bffc2906f77b0e542792f5a

真的很感激任何帮助......

1 个答案:

答案 0 :(得分:2)

在你的日志中说:
Rendered devise/passwords/edit.html.erb within layouts/application (3.3ms)

您确定edit.html.erb文件会呈现form.html.erb视图吗? 因为当我查看source.html文件时,它似乎呈现了一个具有POST方法路径的不同形式。
form.html.erb使用PUT方法。所以在我看来,就像呈现了错误的形式一样。