我一直在做 ruby 和 rails 很长一段时间,但是当涉及到更动态的元素(目前是 jrails 和 jQuery)时,我是一个新手,所以我完全有可能遗漏了一些东西。
也就是说,我有一个页面需要从多个来源更新多个元素。例如,动态标题来自一个来源,而 5-6 div 的信息来自第二个来源。我有 6-7 个周期性调用远程调用,并设置了适当的 :condition 标志,因此只有可见的调用才会真正导致调用。问题是,即使没有其他 div 可见,也有 7 次调用动态标题!
为清楚起见,我创建了一个展示类似行为的页面:
<%= javascript_include_tag 'jquery' %>
The server time is:
<%= render :partial => 'time' %>
<%= periodically_call_remote(:update => 'time',
:url => { :action => :time },
:frequency => 3) %>.
Here's the results from some other function!
<%= render :partial => 'count' %>
<%= periodically_call_remote(:update => 'count',
:url => { :action => :count },
:frequency => 3,
:condition => "false")
%>
我期待,每三秒钟,这将在服务器上调用“时间”,并用新的“时间”div 替换旧的“时间”。它永远不会调用“计数”。
实际发生的是,每三秒,它就会调用两次“时间” 。如果我包含第三个periodic_call_remote,它会调用它三次。
这是一个错误吗?jQuery的一个微妙之处我还不明白?远古诅咒?这是怎么回事?