2011-05-23 40 views
0

我的应用程序很简单:的Rails当提交表单,总是告诉我的错误:路由错误的路由匹配“blablabla”

控制器:“主力” 有三个动作:“欢迎”,“form_receiver”和“结果”

和2次:“result.html.erb”和“welcome.html.erb”

所有我想要做的是在发布“welcome.html.erb”的形式向action“form_receiver”,并在“结果”操作中显示一些结果。

但发表后,我得到的错误:路由错误没有路由匹配“/主/ form_receiver” ,通过我很确定,我已经包括在路径中的路径。

下面是我CODE

控制器/ 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 

视图/主/ 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 %> 

视图/主/result.html.erb:

<%[email protected]['cick']%> 
<%[email protected]['password'] %> 

的config/routes.rb文件:

TestForm::Application.routes.draw do 
    get "main/welcome" 

    get "main/result" 

    get "main/form_receiver" 
end 

回答

2

正如你所说,你是发布form_receiver。但是你在routes.rb中写了get

所以你应该:

post "main/form_receiver" 
+0

,谢谢,我刚开始学习的轨道,我不太了解什么“得到”的真正含义在这里,当我写的,非常感谢。 – DiveInto 2011-05-23 07:34:33

相关问题