Ruby on rails Rails 3相当于定期调用远程

Ruby on rails Rails 3相当于定期调用远程,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,似乎Rails 3中不推荐使用定期调用\u remote,您知道如何实现相同的功能吗?用于定期运行调用AJAX调用的函数。如果使用jQuery执行此操作,可能会出现以下情况: var pollBackend = function() { $.getJSON("/foo/bar/poll"); } setInterval(pollBackend, 5000); 这将尝试每5秒轮询一次给定的URL以获取JSON数据。如果您确实想使用它,则可以安装具有以下方法的旧插件: Rails现在喜欢U

似乎Rails 3中不推荐使用
定期调用\u remote
,您知道如何实现相同的功能吗?

用于定期运行调用AJAX调用的函数。如果使用jQuery执行此操作,可能会出现以下情况:

var pollBackend = function() {
  $.getJSON("/foo/bar/poll");
}

setInterval(pollBackend, 5000);

这将尝试每5秒轮询一次给定的URL以获取JSON数据。

如果您确实想使用它,则可以安装具有以下方法的旧插件:

Rails现在喜欢UJS

有关Rails 3中UJS的更多信息,请查看这些链接:

我写了一篇关于prototype和link to remote标签的短文:


希望这有帮助

我一直在寻找使用Rails 3的正确方法,但现在我相信在Rails 3中没有类似于定期调用远程的方法。 为了使用jQuery实现完全相同的功能,我使用了:

$(document).ready(
  function(){
    setInterval(function(){
      $('#mydiv').load('/controller/action');
    }, 3000);
  });

这就是定期ajax调用所需的,用自己的RESTful路由替换一些路径:

<%= javascript_tag do -%>
$(document).ready(
  function(){
    setInterval(function(){
      $.ajax({
        url: "<%= some_path %>",
        type: "GET",
        dataType: "script"
    });
  }, 60000 );
});
<% end -%>

$(文件)。准备好了吗(
函数(){
setInterval(函数(){
$.ajax({
url:“”,
键入:“获取”,
数据类型:“脚本”
});
}, 60000 );
});
index.js.erb文件如下所示:

$('#mydiv').html("<%= escape_javascript( render( :partial => 'my_partial' ) ) %>");
$('mydiv').html('myu-partial'))%>;

如果您想继续使用prototype.js,那么可以执行以下操作:

<%= content_for :js do %>
  new Ajax.PeriodicalUpdater("mydiv", 
    "/controller/action", 
    { frequency: 5, 
      method: 'get' })
<% end %>

新的Ajax.PeriodicalUpdater(“mydiv”,
“/controller/action”,
{频率:5,
方法:'get'})

更多关于Ajax.PeriodicalUpdater的信息。

这是我遇到的一个非常简单的解决方案

<head>
    <script type="text/javascript">         
      setTimeout("location.reload();",20000);
    </script>
</head>

setTimeout(“location.reload();”,20000);

试图实现这一点,但仍在挣扎。如果我在application.js中插入这段代码,在标题中包含javascript默认值,并且有一个id为='mydiv'的DOM元素,那么它应该自动绑定,对吗?此外,如何动态更新URL,例如,如果我有一个嵌套资源,因此需要加载“/controller/:id/action”,其中:id是动态设置的?为此,只需将数据项id添加到元素中,并使用jQuery的.data()加载它,您肯定可以对URL执行同样的操作。