2009-08-21 53 views
1

我在控制器中有3種不同的操作。每個參數都有不同的數量。 在應用程序中,所有3個都由用戶點擊鏈接執行。 現在我需要有一個表單,其中有幾個字段,用戶可以簡單地鍵入他們正在尋找的內容。當用戶填寫表格時,取決於所提供的3個動作中的一個必須執行的內容。從用戶處獲取輸入並在Rails中執行不同的操作

因此,在短期我需要採取從字符串的形式,確定需要哪個動作,和琴絃通入3個動作作爲參數之一。

對不起,我在Rails的新手,如果你不明白我的問題,我會提供澄清:)

由於始終。

除參數外,所有3個動作的作用幾乎相同。 因此,在索引頁面中,我有以下3個3行爲的鏈接。

<h3> 
<%= link_to "1. NPA", :controller => "trunks", :action => "npa" %> <br /> 
<%= link_to "2. Switch", :controller => "trunks", :action => "switches" %><br /> 
<%= link_to "3. Trunk Group CLLI", :controller => "trunks", :action => "clli" %> 

假設您點擊它調用「新人民軍」的行動,你會再次通過下面的代碼生成鏈接列表呈現的第一個鏈接:

<h3> 
<% while j < @npa.size %> 
    <% if @npa[j] != nil%> 
    <%= link_to "#{@npa[j]}", :controller => "trunks", :action => "npanxx", :param1 => "#{@npa[j]}", :param2 => "#{@npa[j]}"%><br /> 
    <% end %> 
    <% j += 1 %> 
<% end %> 
</h3> 

在上面的代碼中,有2個參數(param1和param2)被傳遞給下一個動作'npanxx'。

我需要實現的是與上面相同,但是從表單字段得到的參數。

根據其由用戶提供的參數,我想我可以讓應用程序決定哪些行動來執行。例如,上述操作的參數都是數字,但對於第二個操作,參數都是字符串。

所以它只是歸結爲如何採取從用戶的輸入,並將它們傳遞到控制器的動作。

感謝您的幫助大家:)

+0

有各種各樣的解決方案在這裏。你可以發佈一些你的代碼,所以我們可以更好地瞭解最好的解決方案嗎? – Ben 2009-08-21 13:55:46

+0

請檢查我的問題。我更新了更多的信息:)謝謝本 – b1gtuna 2009-08-21 15:11:36

回答

0

你可以提交表單到一個控制器動作,做的「這是需要採取行動的身份」,然後重定向到專用於傳遞的參數的動作。

我想在你的路由配置更先進的方法是添加「確定行動」的邏輯。

+0

好吧,我想我的問題是「如何提交表單到控制器」。對不起,我是一個新手xD – b1gtuna 2009-08-21 18:11:34

0

在有關如何將表單提交給一個控制器,一個簡單的submit_to_remote(如果你想AJAX響應)或submit_tag(如果你想標準的HTTP響應)關於你的問題迪倫麥克朗

Submit To Remote

Submit Tag

相關問題