質問: 0) %> <%= item[:no] %> <%= item[:name] %> <% end %> <%= button_tag type: "submit" do %> 次へ <% end %> <% end %> <% end %> ``` 現状では、エラー発生の場合に項目一覧が無くなります。 ラジオボタンの選択は、 `@select_no` を使うとして、項目一覧の取得は、案として * A. 項目一覧を `#show` に送る * B. 項目一覧を `#show` で再作成する( `#items` を呼びだす) * C. Ajax でどうにかメッセージだけ更新する を思いつきましたが、どれもしっくりきません。案B は、一覧が動的なものであるため、ボタン押下前と内容が異なる可能性があります。 何かよい方法はないでしょうか?
回答: 「しっくりこない」という感覚的な話をこれだけの情報で共有するのは無理なので一般論です。 画面遷移に伴い内容が変更されては困るという解決策については 1. 表示されている内容を持って回る 2. 画面を遷移させない のどちらかです。 1. については質問の中の案A.が該当します。セッションやDBや何かのストレージに保存しておく、というのも考えられます。項目そのものではなく、確実に表示が再現できる検索条件を持ち回る方法もあります。 2.についてはC.のAjaxでやるか、window.openで別ウィンドウを開き、結果の通知はそちらからwindow.openerを使って元のウィンドウを操作する方法が考えられます。