我有一个rails应用程序,它在Heroku中运行得很慢,我假设由于数据库和rails的原因,网页加载很慢。因此,我想让它成为可能的是有一段javascript,它只加载Rails内容,或者有一个div,它在整个页面加载后才加载Rails。
所以像这个
LOAD HTML AND CSS, ONCE FULLY LOADED --> DISPLAY [JS SPIN][1] --> DISPLAY DIV OR RAILS
如何做到这一点?感谢
您的问题非常模糊,但以下是您需要进行的方向
- 从视图中删除内容
- 向视图中添加微调器gif
- 在Javascript中,一旦DOM准备好,就发送API请求来获取这个缓慢的信息
- 使gif微调器消失
- 将您的信息注入页面
这基本上是一个Javascript问题,而不是Rails。
我想你可以有一个静态页面,它使用AJAX调用从应用程序中的路由填充div。因此,public
中有一个纯HTML页面,例如,它加载jQuery,然后进行适当的AJAX调用以从rails加载内容。这将是对rails操作的请求,该操作只呈现部分或没有布局的模板。取决于你需要什么,但本质上:
def my_action
render layout: false
end
然后,my_action
的视图模板将单独呈现在响应中。前面的AJAX调用只需将响应中的HTML附加到您选择的容器中。
这有帮助吗?