- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:redirect先でredirect元の変数を参照)
リダイレクト先のviewでリダイレクト元のデータを表示する方法
このQ&Aのポイント
- リダイレクト先のviewで、リダイレクト元のコントローラの変数を受け取る方法について説明します。
- redirect_to先のviewで、リダイレクト元のデータを参照するためには、リダイレクト先のコントローラで変数を設定し、その変数をviewで表示する必要があります。
- 具体的には、リダイレクト元のコントローラで渡した変数をリダイレクト先のコントローラで受け取り、その受け取った変数をviewで表示することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そのような場合は、flashを使用すると良いでしょう。 セッションを使用する方法もありますが、リダイレクトした先の画面で一時的に使用したい場合は、 flashが適しています。 def foo arr = [1,2,3,4] #arrをいろいろと処理 flash[:arr] = arr #ここで設定する redirect_to :controller => "top", :action => "bar" end def bar #ここで@arr = arrしたい arr = flash[:arr] #ここで元の画面で設定したarrが取得できる end 尚、flashは現在のリクエストと次のリクエストのみで使用可能です。その次のリクエストでは使用できません。(使用可能にする方法が無いわけではありませんが、そのままだと使用できません) 今回はflash[:arr]としましたが、:arrのところは、他のシンボル名でもかまいません。 例 flash[:hogehoge] = arr でもOKです。