Ruby on rails 如何让左时间倒数

Ruby on rails 如何让左时间倒数,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,示例是关于groupon.com的。正如我们所知,它说的时间留给某些产品和计数每一秒。所以我可以用javascript来做,但服务器端我应该通过Ajax更新它吗?所有产品每秒都会保留时间属性,或者如何在没有Ajax的情况下在服务器中更新它 有人知道吗? 1) 有什么东西应该在服务器上更新我的产品timeLeft? 我找不到那个东西 我唯一能做的就是通过ajax更新它们。最简单、最好的倒计时方法是客户端。试图存储和更新此类信息是对时间、空间和处理的巨大浪费 基本上,您的数据库应该有结束时间,这将被

示例是关于groupon.com的。正如我们所知,它说的时间留给某些产品和计数每一秒。所以我可以用javascript来做,但服务器端我应该通过Ajax更新它吗?所有产品每秒都会保留时间属性,或者如何在没有Ajax的情况下在服务器中更新它

有人知道吗? 1) 有什么东西应该在服务器上更新我的产品timeLeft? 我找不到那个东西


我唯一能做的就是通过ajax更新它们。

最简单、最好的倒计时方法是客户端。试图存储和更新此类信息是对时间、空间和处理的巨大浪费

基本上,您的数据库应该有结束时间,这将被发送到客户端。然后客户端将使用javascript每秒更新一次:

var timeLeft = product.endTime - currentTime;

然后你可以每秒更新
timeLeft

比如说product.endTime=明天,Javascript在客户端更新,但是服务器端呢,谁在更新服务器端呢。感谢这假设客户端的系统时钟是正确的。我建议在数据库中保存相同的信息,但不要直接发送给客户机,而是将“剩余时间”发送给客户机,这样他的系统时钟就不会受到影响。让我们忘掉客户机吧。哪个类别或型号正在更新我的产品在Seerver上的leftTime您真的不应该在服务器上存储
timeLeft
。这将是一个太多的处理方式,没有任何好处。您可以使用PHP获取初始时间,
$initTimeLeft=$endTime-time()
(或其他任何内容),然后让JS计算从中减去的秒数。该列不应存在于数据库中。您只需要在产品上存储过期时间。然后,您的服务器可以根据请求设置一行来计算
timeLeft
。然后JS会在没有任何客户端请求的情况下每秒更新一次。当页面刷新时,代码中的行将重新计算
timeLeft
,同样的情况也会发生。