2012-01-19 3 views
0

私は、フレームワークに合わせるために、ConwayのGame of Lifeの実装をRuby on Rails web-appで構築しようとしています。Ruby on Railsページで部分HTMLを動的にレンダリングする方法はありますか?

しかし、私は少し問題に遭遇しています。

実際のゲームページを動作させる方法は、ライフゲームのアルゴリズムを使用して配列を更新するhtmlパーシャルを作成し、そのポイントをキャンバス要素に描画します。

私はすでにこれを行うコードを持っており、さらに部分的にビルドされています。それは次のようになります機能get_next次の配列を引数として元の配列に取り込んで作成

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

はそれに応じて、キャンバス上に位置します。

この部分をページに元々レンダリングすると、アルゴリズムによって初期配列が実行され、キャンバスが更新されるため、部分的に機能することがわかります。

私の質問は、ページが開いている間にこの問題が発生するのはどうですか?基本的には、ページ上の一部の<div>のHTMLを更新することです(今のところクリック要求に応じて生成される部分的なものです)。それは(私が思う)

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

私はこれまで非常に新たなんだ、と私はこれが、この問題に対処する最善の方法にも、近くではないかもしれない実現...このように少し見えます。それは、批判、有益なコメントや提案があれば大歓迎です。私はそれがより良い練習と見なされるなら、周りのものを変えることにはオープンです。

答えて

1

jqueryのloadが動的に

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

提案のdivの中に部分的にロードします。

  • はすなわちJavaScriptの
  • は、クライアント間の配列を渡す使用するクライアント(ブラウザ)側のロジックを描く保ちますjsonとしてのサーバー
関連する問題