2011-10-27 41 views
0

我有一個簡單的頁面,其中包含一個文本框和一個提交按鈕。我希望用戶能夠輸入字符串,並讓提交按鈕將用戶指向特定頁面,其中文本字段在URL中作爲:id。Rails 3:表單提交 - 將Textfield設置爲:id

例如,如果用戶輸入「測試」,點擊提交應該將他發送到「/ controller/action/test」。

這可能嗎?我想:

<%= form_tag :controller => "myController", :action => "myAction", :id => :textFieldName do %> ... 

,但不起作用。 (我沒有懷疑它會。)

謝謝

回答

0

你必須使用Javascript。最簡單的形式

$('form').submit(function() { 
    $(this).attr('action') = '/url/prefix/' + $(this).find('input#the_field').val(); 
    return true; 
}); 

然後處理程序應該返回並且表單應該提交給新的url。

請注意,您還應該驗證/標準化該字段的內容。

0

您可以嘗試...

不要設置窗體標記的ID。取而代之,將params散列中的文本字段值指定爲重定向到的位置。

即在視圖...

<% text_field_tag :id => "test_value" ... %> 

和在控制器...

redirect_to "/action/" + params[:test_value]