2011-05-23 42 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

相關問題