2012-02-29 14 views
0

私は、ユーザーがレコード(すなわち/コントローラ/ 23)のIDを入力してからgotoボタンを押して/ controller/idに直接ナビゲートする方法を探していますRails、number_field_tag direct goto record

したがって、ユーザーはインデックスページにあります。フォームの中に折り返された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ソリューションの一般的なジストです。 –

+0

おかげさまで、コントローラーアクションかJSのどちらかが恐れていました。まあ、良いクリーンな方法ではないと思います。 – Roger

-1

私はあなたが提出の翻訳を処理するための別のアクションを記述する必要がありますどちらか、これは

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

'params [:id_of_field]'は、フォームが提出された後にのみ提出され、提出が行われるページには存在しません。 –

+0

これはどういう仕組みか分かりません。私はこれをフォームの中に置く必要がありますか? params []はリンクをクリックするだけではフィールドの値を取得できません。まさにジェームス、フォーム上にないコントローラの中で利用可能なもの。 – Roger