これは簡単なはずですが、簡単な答えが見つからないようです。
現在のリクエストからredirect_to呼び出しにparam値を渡すにはどうすればよいですか? GETリダイレクトのクエリ文字列に渡したいフォーム値がいくつかあります
私は次のようなことをしたいと思います:
redirect_to @thing, :foo => params[:foo]
に送信されます:
http://things/4?[foo][key1]=val1&[foo][key2]=val2
ありがとう!
また、redirect_to:backでこれをどのように処理できますか?
redirect_to :back, :foo => params[:foo]
redirect_to
の「Record」形式は、応答ステータスにのみ2番目の引数を使用します。 'String'形式など、別の形式のredirect_toを使用する必要があります。例えば。:
redirect_to thing_path(@thing, :foo => params[:foo])
これは、前述のようにネストされたparams[:foo]
パラメータに対して機能します。または、Drewが以下にコメントしているように、 polymorphic_url (または_path)を使用できます。
redirect_to polymorphic_path(@thing, :foo => params[:foo])
ジョーダンの答えに追加するには:
@thing
のオブジェクトの種類がわからない場合は、ユニバーサルpolymorphic_url
メソッドを使用できます。これは、とにかくオブジェクトをredirect_to
に渡すときに内部的に呼び出されるメソッドです。