2009-04-03 11 views
28

これは簡単なはずですが、簡単な答えが見つからないようです。パラレル値をレールでクエリーストリングとしてredirect_toに渡す

現在のリクエストのparam値をredirect_toコールに渡すにはどうすればよいですか?

redirect_to @thing, :foo => params[:foo] 

とに送信されます::

http://things/4?[foo][key1]=val1&[foo][key2]=val2 
私は私のような何かをしたいと思います

をリダイレクトGETのクエリ文字列に渡したいのですが、いくつかのフォームの値を持っています

ありがとう!

また、これはredirect_toのためにどのように処理できますか?

redirect_to :back, :foo => params[:foo] 

答えて

38

「記録」形式のredirect_toは、応答ステータスのみ第2引数を使用します。 'String'フォームのようにredirect_toの別のフォームを使用する必要があります。例:

redirect_to thing_path(@thing, :foo => params[:foo]) 

これは、前述のようにネストされたparams[:foo]のパラメータで機能します。または、ドリューは、以下のコメントとして、あなたはpolymorphic_url(または_path)を使用することができます。

redirect_to polymorphic_path(@thing, :foo => params[:foo]) 
4

ヨルダンの答えに追加する:

あなたがかもしれないオブジェクト@thingのどのような種類がわからない場合は、使用することができますユニバーサルpolymorphic_url方法。これは、とにかくオブジェクトをredirect_toに渡すと内部的に呼び出されるメソッドです。

関連する問題