2011-11-20 96 views
1

在我的控制器中,我有一個「show」動作處理兩個參數「a」和「b」。沒有涉及的模型。現在我正在創建一個帶有兩個字段(a,b)的窗體。提交後,應使用輸入的值作爲參數調用「顯示」功能。在沒有模型的情況下處理參數

答:如何正確設置表單以便將其連接到show功能並設置兩個參數?我嘗試了以下。

<%= form_tag(:action => 'show', :method => :get) do %> 
<p> 
<%= label :First, :A %><br /> 
<%= text_field :First, :A %></p> 
<p> 
<%= label :Second, :B %><br /> 
<%= text_field :Second, :B %></p> 
<p> 
<%= submit_tag 'Set' %></p> 
<% end %> 

這似乎並沒有工作。 show動作不被稱爲沒有參數傳輸。

B.如何解決來自表單中的參數?目前,我只能通過params[:a]params[:b]從URL獲取它們。該表單應該是爲「顯示」功能設置這些值的附加方式。

+0

好像我得到了form_tag錯誤。使用'<%= form_tag({:action =>'show'},{:method =>:get})do%>'效果更好,但現在我得到一個令人費解的'show?utf8 =✓&%3Aa%5Ba% 5D = 23&commit =在url中設置。我怎樣才能修復utf8 ..部分? – Bernd

回答

0

除了區分大小寫的變量名之外,您的代碼是準確的。小寫字母:A和:B使其起作用。

+0

我將它改爲'<%= label:First,:a%>
<%= text_field:First,:a%>'。它仍然不起作用。問題似乎是,結果URL以'show?method = get'而不是'show?a = 23&b = 21'結束 – Bernd

相關問題