Ruby on rails 在提交rails时重新路由到路径
我让用户能够重置密码,然后在完成后重新路由。然而,当使用表单标签和重定向到时,我得到了一些不希望的重新路由 成功提交后,表格应重新发送至: 但它会改为: //额外的部分是令牌id CustomerPasswordResetController控制器 客户密码重置/edit.html.erbRuby on rails 在提交rails时重新路由到路径,ruby-on-rails,Ruby On Rails,我让用户能够重置密码,然后在完成后重新路由。然而,当使用表单标签和重定向到时,我得到了一些不希望的重新路由 成功提交后,表格应重新发送至: 但它会改为: //额外的部分是令牌id CustomerPasswordResetController控制器 客户密码重置/edit.html.erb url选项就是问题所在。Rails可以提交。新视图将提交到创建操作,编辑将提交到更新,之前的答案已成功重新路由,但未更新。我需要参数以便在更新模型中找到用户。Rake routes显示,我确实需要将此从pos
url选项就是问题所在。Rails可以提交。新视图将提交到创建操作,编辑将提交到更新,之前的答案已成功重新路由,但未更新。我需要参数以便在更新模型中找到用户。Rake routes显示,我确实需要将此从post更改为补丁
<%= form_for @customer, :url => customer_password_resets_path, :method => :patch do |f| %>
那么我是否需要创建新视图或更改提交表单?仅更改表单。从表单Helper中删除url选项删除url重新路由到customer/id,而不是customer\u resets\u new可能我错了!!与前面一样使用url选项,但添加method::put/:patch选项。您有资源:customer\u password\u在routes.rb中重置,对吗?是的。我只需要删除参数并将该方法定义为post
<%= form_for @customer, :url => customer_password_resets_path(params[:id]) do |f| %>
<% if @customer.errors.any? %>
<div class="error_messages">
<h2>Form is invalid</h2>
<ul>
<% for message in @customer.errors.full_messages %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :password %>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %>
</div>
<div class="actions"><%= f.submit "Update Password" %></div>
<%= form_for @customer, :url => customer_password_resets_path, :method => :patch do |f| %>