繁体   English   中英

如何在Rails中每五分钟更新一次视图

[英]how update a view every five minutes in rails

我有一个StartMonitor按钮,在用户按下此按钮后,我将每5分钟开始检查一次当前的可用内存。 这意味着该视图应每5分钟更新一次,以显示到目前为止的所有数据 我可以获取数据,但是我不知道如何更新视图。 您会推荐什么?谢谢。

您将必须主动从客户端轮询。 渲染视图后,与客户端的连接将丢失。 您不能从服务器端将信息推送到浏览器。

每隔5分钟使用JavaScript或带有“重新加载”的元标记重新加载视图。 例如

<meta http-equiv="refresh" content="300;url=/controller/action/id">

如果您重新加载整个页面(通过JS或Meta-Tag)并且重新加载失败(例如服务器忙错误),则您的重新加载代码将不再执行,因为浏览器现在显示的错误页面不包含您的重新加载代码。 例如

我建议使用AJAX更新div并自行处理错误事件(忽略,重试,通知用户。任何适合您的需求)。 那应该是一个垃圾解决方案。

periodically_call_remote(:url => 'update', :frequency => '300', :update => { :success => "ok", :failure => "error" }

您实际上有几种方法可以做到这一点

一个是建议的“ phisch”

另一个将使用更新的Ajax(您可以使用rails默认的ajax库进行此操作)

代码示例是

'message_div',:url => {:action =>'message'},:frequency =>'20'%>

其中'message_div'是更新div操作->是控制器操作,而频率是更新频率(以秒为单位)

  • 注意-您包括了Rails默认的JavaScript库

希望这可以帮助

欢呼声,sameera

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM