Ruby on rails Rails在提交表单时,始终向我显示错误:路由错误无路由匹配”;“布拉布拉布拉”;
我的应用程序很简单: 控制器:“主” 有3个动作:“欢迎”、“表格接收者”和“结果” 和2个视图:“result.html.erb”和“welcome.html.erb” 我所要做的就是将“welcome.html.erb”中的表单发布到操作“form_receiver”,并在“result”操作中显示一些结果 但是在发布表单之后,我得到了一个错误:路由错误No route matches“/main/form\u receiver” ,通过,我确信我已将路径包括在routes中 下面是我的代码 控制器/main\u controller.rb:Ruby on rails Rails在提交表单时,始终向我显示错误:路由错误无路由匹配”;“布拉布拉布拉”;,ruby-on-rails,forms,routes,Ruby On Rails,Forms,Routes,我的应用程序很简单: 控制器:“主” 有3个动作:“欢迎”、“表格接收者”和“结果” 和2个视图:“result.html.erb”和“welcome.html.erb” 我所要做的就是将“welcome.html.erb”中的表单发布到操作“form_receiver”,并在“result”操作中显示一些结果 但是在发布表单之后,我得到了一个错误:路由错误No route matches“/main/form\u receiver” ,通过,我确信我已将路径包括在routes中 下面是我的代码
class MainController < ApplicationController
def welcome
#Nothing
end
def form_receiver
@p = params[:customer]
redirect_to :controller => "main",:action=>"result"
end
def result
end
end
<h1>Main#welcome</h1>
<%= form_tag :controller => 'main',
:action => 'form_receiver' do%>
<p>name : <%= text_field "customer","nick" %> </p>
<p>pwd : <%= password_field "customer","password" %></p>
<p><input type="Submit" value="sign up"/> </p>
<% end %>
<%=@p['cick']%>
<%=@p['password'] %>
TestForm::Application.routes.draw do
get "main/welcome"
get "main/result"
get "main/form_receiver"
end
正如您所说,您正在向
表单接收者发布。但是您在routes.rb中编写了get
所以你应该:
post "main/form_receiver"
谢谢,我刚刚开始学习rails,当我写它的时候,我对“get”的真正含义知之甚少,非常感谢。