Ruby on rails 自定义表单的投递路由问题
我已经添加了自定义路由、自定义控制器代码,并在表单中对自定义路由执行了操作,但是我得到了一个关于路由的错误,即使它在错误消息中显示了路由 表格/视图如下: 视图/调查请求/confirmation.html.erbRuby on rails 自定义表单的投递路由问题,ruby-on-rails,Ruby On Rails,我已经添加了自定义路由、自定义控制器代码,并在表单中对自定义路由执行了操作,但是我得到了一个关于路由的错误,即使它在错误消息中显示了路由 表格/视图如下: 视图/调查请求/confirmation.html.erb <%= form_for @survey_request, url: survey_requests_confirm_path do |f| %> <p>Your Email Address: <%= f.text_field :customer_e
<%= form_for @survey_request, url: survey_requests_confirm_path do |f| %>
<p>Your Email Address: <%= f.text_field :customer_email %></p>
<%= f.hidden_field :survey_token, value: @survey_request.survey_token %>
<p>Your survey token: <%= @survey_request.survey_token %></p>
<p><%= f.submit %></p>
<% end %>
在survey_requests_controller.rb中,我定义了一个方法
def confirm
#code here to confirm the users email and token
end
当我运行该应用程序时,confirmation.html.erb表单显示良好,包括传递给它的令牌。当我提交表单时,出现以下错误:
No route matches [POST] "/survey_requests/confirm"
但是,当我在同一错误页面上向下滚动时,它会显示路线:
survey_requests_confirm_path PUT /survey_requests/confirm(.:format) survey_requests#confirm
有什么建议吗?谢谢 问题在于定义的路由使用PUT方法,而表单路由使用POST方法
将发送“survey\u requests/confirm”的路径更改为“survey\u requests confirm”,或将方法::放入@survey\u request的表单中,url:survey\u requests\u confirm\u path,方法::放置,以便方法匹配。谢谢!当您从示例站点复制代码而不完全理解它时,就会发生这种情况。
survey_requests_confirm_path PUT /survey_requests/confirm(.:format) survey_requests#confirm