如何每秒更改ruby变量值?

时间:2012-09-14 10:24:26

标签: jquery ruby-on-rails json

我有这样的问题:我想显示计数器,它会每秒都在改变,所以我需要更改Ruby变量,我将在jQuery中使用它。

编辑:我想制作计数器,对所有用户都一样。

我有counter.json.erb文件:

 {
 "count": <%= @counter%>
 }

和行动:

def counter
 @counter //here I need to change variable
 respond_to do |format|
 format.jsonr do
  render :json 
   end
 end
end

我正在使用jQuery获取此变量:

$.getJSON('http://127.0.0.1:3000/counter.json', function(data) {
    alert(data.count);//alert just for testing
})

编辑:建议代码:

     var counter = 0
     $(document).ready(function(){
var myCounter = new flipCounter('counter', {value:counter});
$.getJSON('http://127.0.0.1:3000/counter.json', function(data) {
 myCounter.setValue(data.count);
})
});  

   setInterval(function() {
    $.getJSON('http://127.0.0.1:3000/counter.json', function(data) {
 myCounter.setValue(data.count);
   }, 1000);

我收到错误:

 Uncaught SyntaxError: Unexpected end of input application.js:1

也许有人可以推荐一些东西?也许其他解决方案?

1 个答案:

答案 0 :(得分:1)

您不需要实际“每秒更改变量”。它比那简单得多:

  1. 选择开始时间(或结束时间)并将值存储在某处
  2. 随时按当前时间
  3. 计算两者之间的差异
  4. 完成。您可以随时重复此算法,并始终获取计时器的当前状态。