问题描述
|
我的应用程序很简单:
控制器:\“ main \”
具有3个动作:\“ welcome \”,\“ form_receiver \”和\“ result \”
和2个视图:\“ result.html.erb \”和\“ welcome.html.erb \”
我要做的就是将表格“ welcome.html.erb”中的内容发布到动作“ form_receiver”中,并在“结果”动作中显示一些结果。
但是在发布表单后,我得到了错误:路由错误没有路由匹配\“ / main / form_receiver \”
,我很确定自己已经在路径中包含了路径。
以下是我的密码
controllers / main_controller.rb:
class MainController < ApplicationController
def welcome
#nothing
end
def form_receiver
@p = params[:customer]
redirect_to :controller => \"main\",:action=>\"result\"
end
def result
end
end
views / main / welcome.html.erb:
<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 %>
views / main / result.html.erb:
<%=@p[\'cick\']%>
<%=@p[\'password\'] %>
config / routes.rb:
TestForm::Application.routes.draw do
get \"main/welcome\"
get \"main/result\"
get \"main/form_receiver\"
end
解决方法
如您所说,您要发布到
form_receiver
。但是您在routes.rb中写了“ 5”。
因此,您应该:
post \"main/form_receiver\"