0

フレームワークに適応するために、Ruby onRailsWebアプリでConwayのGameofLifeの実装を構築しようとしています。

しかし、私は少し問題にぶつかっています。

実際の「ゲーム」ページを機能させる方法は、ゲームオブライフのアルゴリズムを使用して配列を更新するhtmlパーシャルを作成し、canvas要素にポイントを描画することです。

私はすでにこれを行うためのコードを持っており、部分的にビルドされています。次のようになります。

<% @array = get_next @array %>
    <script>
        function drawArray(){
            //fill rectangles on canvas based on each of @array's values.
        }
        drawArray();
    </script>

ここで、関数get_nextは元の配列を引数として受け取り、それに応じてキャンバス上に配置される次の配列を作成します。

このパーシャルを最初にページにレンダリングすると、アルゴリズムを介して初期配列が実行され、キャンバスが更新されるため、パーシャルが機能することがわかります。

しかし、私の質問は、ページが開いているときにこれをどのように発生させるのですか?<div>基本的に、目標は、ページ上の一部のhtmlを、クリック要求時に生成されるパーシャルで更新することです(今のところ)。それは(私が思うに)少しこのように見えるでしょう...

<script>
    $('#some_div').click(function(){
        //get new partial
        //update old div with new partial code
    });
</script>

私はこれに非常に慣れていません、そしてこれがこの問題に取り組むための最良の方法にさえ近くないかもしれないことを私は理解します。とはいえ、批判、有益なコメント、提案をいただければ幸いです。それがより良い習慣であると考えられるならば、私は物事を変えることにオープンです。

4

1 に答える 1

1

jquery loadは、パーシャルをdivに動的にロードします

<script>
  $("#some_div").click(function(){
    //get new partial and update display div
    $("#display").load("mypartial-url");
  });
</script>

提案:

  • クライアント(ブラウザ)側でロジックを描画し続ける、つまりjavascriptを使用する
  • クライアントとサーバーの間でjsonとして配列を渡します
于 2012-01-19T08:24:30.567 に答える