0

我正在尝试在 Ruby on Rails 网络应用程序中构建康威生命游戏的实现,以适应框架。

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

我希望实际的“游戏”页面工作的方式是创建一个 html 部分,它将使用生命游戏的算法更新数组,并将点绘制到画布元素。

我已经有了执行此操作的代码,甚至还构建了部分代码。它看起来像这样:

<% @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 回答