通行证重置 - 没有匹配的路由 [PATCH] "/password_resets.SOLceKJXoax55zSBAfAhTQ"



我正在做Michael Hartl rails教程,并试图实现密码重置功能,但发送密码重置表单(您重置密码的表单)的请求看起来像/password_reset。SOLceKJXoax55zSBAfAhTQ然后说:No route matches [PATCH] "/password_resets。在教程中,我们被要求使用这个路由:resources:password_reset, only: [:new,:create,:edit,:update]但是我得到了错误消息。

这是如何我的password_resets_controller。Rb更新方法如下:

<>之前def更新如果password_blank ?闪光。now[:danger] = "密码不能为空"呈现"编辑"elsif @user.update_attributes (user_params)log_in @userflash[:success] = "密码已重置。"redirect_to @user其他的呈现"编辑"结束结束之前

有人知道我的方法或路由是如何导致这个错误的吗?提前谢谢你。

更新:添加我的重置密码视图(password_reset edit.html.erb)

 <% provide(:title, 'Reset Password') %>
 <h1>Reset Password</h1>
 <div class="row">
 <div class="col-md-6 col-md-offset-3">
 <%= form_for(@user, url: password_resets_path(params[:id])) do |f| %>
 <%= render 'shared/error_messages' %>
 <%= hidden_field_tag :uemail, @user.uemail %>
 <%= f.label :password %>
 <%= f.password_field :password, class: 'form-control' %>
 <%= f.label :password_confirmation, "confirmation" %>
 <%= f.password_field :password_confirmation, class: 'form-control' %>
 <%= f.submit "update password", class: "btn btn-primary" %>
<% end %>
</div>
</div>

修改如下:

<%= form_for(@user, url: password_resets_path(params[:id])) do |f| %>

:

<%= form_for(@user, url: password_reset_path(params[:id])) do |f| %>

最新更新