2012-02-29 42 views
0

我正在尋找一種方式,用戶如何鍵入記錄的ID(即/控制器/ 23),然後按轉到按鈕,它直接導航到/控制器/ IDRails,number_field_tag直接轉到記錄

所以用戶在索引頁上。有什麼像一個number_field_tag(輸入字段),包裝在一個表單?您輸入記錄的ID,然後單擊GOTO。

我不想向用戶解釋他們可以通過更改URL來做到這一點,所以我更喜歡使用該頁面的解決方案。

優選的非JavaScript。有任何想法嗎?

謝謝。

回答

1

你要麼需要編寫額外的動作來處理提交的翻譯 - 乾淨>重定向到URL或使用在我看來,一個JavaScript的解決方案。

<script type="text/javascript"> 
    $('form') // replace with a more detailed selector of your form (e.g. #formid) 
    .submit(function() { 
     window.location.href = 'http://foo.bar/controller/' + $('#field-id').val(); 
     return false; 
    }); 
</script> 

如果您決定JS方法令人滿意,那麼JS的這一點將會實現您所需要的。

+0

你必須做一些工作,因爲有http://foo.bar在那裏固定不是很適應性的(它應該讀取當前window.location.href並提取協議+域的一部分,保留它),但是,這是js解決方案的一般jist。 – 2012-02-29 01:40:45

+0

好的,謝謝,是'怕'它的控制器行動還是JS。那麼猜測,不是一個很好的乾淨的方式。 – Roger 2012-02-29 02:06:07

-1

我想,這可能會做

<%= link_to "GOTO" XXX_path(params[:id_of_field]), :class=>"STYLE_AS_BUTTON" %> 
+0

'params [:id_of_field]'只會在表單提交後出現,而不會出現在提交的頁面上。 – 2012-02-29 01:20:56

+0

我不確定這是如何工作的。我需要把它放在一個表單中?只需單擊鏈接,params []就無法獲得該字段的值。究竟是詹姆斯,那些在控制器內部可用的不在表格中。 – Roger 2012-02-29 01:21:05