静态页面加载后加载轨道



我有一个rails应用程序,它在Heroku中运行得很慢,我假设由于数据库和rails的原因,网页加载很慢。因此,我想让它成为可能的是有一段javascript,它只加载Rails内容,或者有一个div,它在整个页面加载后才加载Rails。

所以像这个

LOAD HTML AND CSS, ONCE FULLY LOADED --> DISPLAY [JS SPIN][1] --> DISPLAY DIV OR RAILS

如何做到这一点?感谢

您的问题非常模糊,但以下是您需要进行的方向

  1. 从视图中删除内容
  2. 向视图中添加微调器gif
  3. 在Javascript中,一旦DOM准备好,就发送API请求来获取这个缓慢的信息
  4. 使gif微调器消失
  5. 将您的信息注入页面

这基本上是一个Javascript问题,而不是Rails。

我想你可以有一个静态页面,它使用AJAX调用从应用程序中的路由填充div。因此,public中有一个纯HTML页面,例如,它加载jQuery,然后进行适当的AJAX调用以从rails加载内容。这将是对rails操作的请求,该操作只呈现部分或没有布局的模板。取决于你需要什么,但本质上:

def my_action
  render layout: false
end

然后,my_action的视图模板将单独呈现在响应中。前面的AJAX调用只需将响应中的HTML附加到您选择的容器中。

这有帮助吗?

最新更新