Ruby on rails 通过触发间隔上的操作来更新页面的一部分
我希望每秒钟只更新一部分页面。我知道我可以在JavaScript中使用setInterval来实现这一点,但如果我想在Rails代码中内置一些逻辑呢?下面是一个简单的抽象: 控制器中的代码:Ruby on rails 通过触发间隔上的操作来更新页面的一部分,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我希望每秒钟只更新一部分页面。我知道我可以在JavaScript中使用setInterval来实现这一点,但如果我想在Rails代码中内置一些逻辑呢?下面是一个简单的抽象: 控制器中的代码: def lookup_something @stuff_to_display = [code to look up a set of records] end 然后在视图中: <body> <div id="update_this"></div> &
def lookup_something
@stuff_to_display = [code to look up a set of records]
end
然后在视图中:
<body>
<div id="update_this"></div>
</body>
我希望每秒运行一次该操作并更新上面的
div
。我知道我以前在一个项目中用一个相对简单的代码块做过这件事,但我一辈子都不知道如何再做一次。如果您愿意使用jQuery,$.ajax调用非常简单:
从
这取决于Rails的版本。在旧版本中,有
定期\u call\u remote
,但在最近的版本中,这已被删除。我建议你看看这个问题:这个链接起了作用。定期调用远程是我在过去使用的,但在Rails3中它似乎被弃用了。
setInterval(function() {
$.ajax({
url:"url/to/lookup_something",
success:function(result){
// do something here to
// $("#update_this")
}
});
}, 1000); // every second