我正在申请中生成报告。完全加载页面需要10到20秒。我需要在这些页面之间显示一个页面来显示消息,如“生成报告..请等待......”,我还提供一些有用的提示,而不是简单地等待。
如何用rails做到这一点?有人有想法吗?
答案 0 :(得分:0)
你有几个选择。最简单的方法是对报告页面进行Ajax调用:在触发ajax调用之前,您将显示“Please wait ...”消息以及用户在等待时可能希望看到的任何其他文本,并且在成功完成通话后,您将使用报告替换页面内容。
另一个选项是使用后台作业队列,如建议的Joel AZEMAR:您触发报告生成(您将在后台作业中执行)并立即返回,呈现“请稍候......”包含所有提示的页面;在同一页面上,您可以添加Javascript轮询机制,以便不时地查询服务器以获取报告的结果。
我建议尝试第一个,除非报告真的是CPU /内存密集或耗时。