2012-01-19 127 views
0

我试图在Ruby on Rails web应用程序中构建Conway的生命游戏实现以适应框架。如何在Ruby on Rails页面中动态呈现部分HTML?

但是,我遇到了一些问题。

我希望实际的“游戏”页面工作的方式是创建一个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> 

我很新的这一点,我意识到这可能不是甚至接近解决这一问题的最佳途径。这就是说,任何批评,有用的意见或建议将不胜感激。如果它被认为是更好的做法,我愿意改变它。

回答

1

jquery的load动态加载的局部成一个div

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

建议:

  • 保持在客户端(浏览器)侧即采用javascript
  • 传递客户端之间的阵列绘制逻辑和服务器为json