设计版本4.3.0
Rails 4.2.8
在发送密码重置电子邮件后,我无法让用户更新密码。
Steps to reproduce
当用户从登录页面单击忘记密码时
他们在忘记密码页面上输入他们的电子邮件
然后他们发送密码重置电子邮件
在电子邮件中,他们点击链接
他们将被带到更改您的密码页面
他们输入更新的密码和密码确认
显示错误已发送电子邮件
电子邮件已被删除,因为他们已经拥有帐户,我想更新密码而不是创建新帐户。
我没有任何我已经覆盖的设计控制器。
在我发出请求后检查用户日志后,它是post request
而不是放置。即使表单显示method: put
答案 0 :(得分:1)
这就是您尝试让表单发送PUT请求的方法:html: {method: :put}
。
html
选项为表单标记添加了可选的HTML属性,因此这里发生的是您只需将method='PUT'
属性添加到表单中。
但是,在提交表单时,大多数浏览器不支持“GET”和“POST”以外的方法。
要完成这项工作,你需要一些Rails魔法。如果您以另一种方式传递method
选项,而不是html
选项内部,则Rails魔法将起作用:
form_for(resource, as: ..., url: ..., method: :put )