使用预渲染或预取来加载API调用?

时间:2017-11-09 18:49:26

标签: html ruby-on-rails curl prerender prefetch

所以我可以使用以下内容获取我的页面预取:

<link rel="prerender prefetch" href="<%= request.base_url + @prerender %>" as="HTML">

然而,它似乎只是加载布局而不是我在rails控制器中的API调用。我正在使用cURL调用第三方API来显示显示天气雷达的gif。这一切都应该在几个页面的循环上运行(每个15秒),我希望下一页(带有API调用)加载,而当前的页面显示约15秒,因为API调用大约需要5秒。

我不希望1/3的显示时间为空白,但似乎prerender没有运行Rails控制器或cURL调用。它不是以这种方式运作还是我做错了什么?我已经尝试过自己和一起预呈现和预取。我还尝试了as =“”属性的各种值。

这是我的第一篇stackoverflow帖子,所以我希望我足够清楚

2 个答案:

答案 0 :(得分:0)

找到解决我问题的相关问题/答案。我提前调用了API并保存了gif(每次都覆盖旧的以节省空间)所以我只能链接到项目中的文件。

Best practice for Rails third party API calls?

答案 1 :(得分:0)

由于你说布局是预取的,我想在通过JS获取后会获取和嵌入内容。如果是这样,预取功能不会执行JS(既不下载JS,CSS,图像文件)。这可能是您只看到布局的原因。

通常,您预取下一页的意图是我的项目https://github.com/sirko-io/engine的目标之一。您可以尝试一下并提供反馈。这是一个开源项目。