设计 - 重置密码表单问题

时间:2014-08-28 21:21:56

标签: ruby-on-rails devise

我遇到的问题是表单方法是post而不是put / patch更改新的

form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
end

会生成以下HTML

<form accept-charset=\"UTF-8\" action=\"/users/password\" class=\"form-horizontal\" id=\"new_user\" method=\"post\" role=\"form\"><div style=\"display:none\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input name=\"authenticity_token\" type=\"hidden\" value=\"TOKEN" /></div></form>

对于我的用户路由,我使用了devise_for :users,与密码相关的路由是

       user_password POST   /users/password(.:format)                  devise/passwords#create
   new_user_password GET    /users/password/new(.:format)              devise/passwords#new
  edit_user_password GET    /users/password/edit(.:format)             devise/passwords#edit
                     PATCH  /users/password(.:format)                  devise/passwords#update
                     PUT    /users/password(.:format)                  devise/passwords#update

当我点击重置密码时,它实际上指向了创建操作而不是更新操作。

有什么具体原因吗?

0 个答案:

没有答案