0

いくつかの 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ません。それが本当に私を支えています。

4

2 に答える 2

0

あなたのapplication.jsファイルで:

$(document).ready(function() {

  $('#checkbox-id').on('click', function() {

    location.reload();

  });

});

チェックボックスをクリックすると、ページが更新されます。( #checkbox-id を、そのチェックボックスに与える ID に変更します)

于 2013-10-17T15:56:37.453 に答える