いくつかの jQuery 関数とネストされたフォームを含むビューがあります。
...
#top part, in the initial form
<div class="checkboxOptions games show-tabs">
<% @games.each do |game| %>
<div class="show-tab">
<div class="checkbox uncheckBoxed">
<%= check_box_tag "", game.id, @tournament.game_ids.include?(game.id), :onclick => "toggleCheckboxImage(this, '');" %>
</div>
<img src="<%= game.logo_url.to_s %>" class="game-logo-label" />
</div>
<% end %>
</div>
...
#'second part' of the form - but in the same view
<div class="tabs">
<% @tournament.sub_tournaments.each do |sub| %>
<% end %>
</div>
...
チェックボックスの 1 つがチェックされると、フォームの 2 番目の部分が jQuery を介して開き、ユーザーは引き続き必要な情報を入力します - これはすべて正常に機能します。
問題は、 「第 2 部」で呼び出す必要がある変数の一部 (@tournament.sub_tournaments
主な例 - 選択された各ゲームがsub_tournament
フォーム。ページが読み込ま@tournament.sub_tournaments
れると、ビルドされますが、空のオブジェクトです。ページは正常に読み込まれますが、ゲームをチェックした後、必要な情報にアクセスできません。
チェックボックスをクリックしたときにビュー (または理想的には部分的なもの) をリロードするにはどうすればよいですか?
私は長い間この問題の繰り返しに固執しており、(部分的な) 成功の程度はさまざまですが、最終的にはリロードの方法がわかり@tournament.sub_tournaments
ません。それが本当に私を支えています。