2012-11-29 32 views
0

我users_controller有這些方法的Rails的form_tag後不工作

def follow_code 
    @user = current_user 
    end 

    def followsubmit 
    redirect_to root_path 
    end 

我的路線文件有

match "follow_code" => "users#follow_code", :as => "follow_code" 
    match "follow_code" => 'users#followsubmit', :as => "follow_code", :via => 'post' 

我follow_code.html.erb觀點有

<%= form_tag(follow_code_path, :method => 'post') do %> 
    <%= submit_tag("Submit") %> 
<% end %> 

然而,由於某些原因當我點擊我的視圖提交時,我從來沒有重定向到root_path,而是重新呈現follow_code視圖。

我在做什麼錯?謝謝。

回答

1

我也很好奇這件事。我今天跑了進去,用比賽爲好,而我的解決辦法是重命名後的行動:

match "follow_code" => "users#follow_code", :as => "follow_code" 
match "save_follow_code" => 'users#followsubmit', :as => "save_follow_code", :via => 'post' 

但是,我用的是條件屬性指定的方法。在你的情況下,你可能只需要指定第一個爲get。

match "follow_code" => "users#follow_code", :as => "follow_code", :via => 'get' 
match "follow_code" => 'users#followsubmit', :as => "follow_code", :via => 'post' 
+0

後者工作。你先生,是一位紳士和學者。 – steve