2013-02-12 62 views
0

我希望每秒更新一次页面的一部分。我知道我可以在JavaScript中使用setInterval,但如果我想要在我的Rails代码中内置一些逻辑,该怎么办?这里有一个简单的抽象:通过间隔触发动作更新页面的一部分

守则控制器:

def lookup_something 
    @stuff_to_display = [code to look up a set of records] 
end 

然后在视图:

<body>  
<div id="update_this"></div>  
</body> 

我想的东西运行动作每秒和更新div以上。我知道我之前在一个相对简单的代码块中完成了这项工作,但是我无法找到如何在我的生活中再次做到这一点。

+2

这取决于on Rails的版本。在较早的版本中,有'periodic_call_remote',但在最近的版本中这已被删除。我建议检查这个问题:http://stackoverflow.com/questions/3661967/rails-3-equivalent-for-periodically-call-remote – 2013-02-12 05:09:59

+0

该链接做了伎俩。 periodic_call_remote是我过去使用过的,但似乎在Rails 3中不推荐使用。 – 2013-02-12 05:39:04

回答

1

如果你愿意使用jQuery的$就调用非常简单: 从http://api.jquery.com/jQuery.ajax/

setInterval(function() { 
    $.ajax({ 
     url:"url/to/lookup_something", 
     success:function(result){ 
      // do something here to 
      // $("#update_this") 
     } 
    }); 
}, 1000); // every second 
相关问题