Rails提交表单时,总是向我显示错误:路由错误没有路由匹配“ blablabla”

问题描述

| 我的应用程序很简单: 控制器:\“ 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\"
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...