静态页面加载后加载 Rails

Posted

技术标签:

【中文标题】静态页面加载后加载 Rails【英文标题】:Load Rails After Static Page Load 【发布时间】:2013-09-03 14:08:06 【问题描述】:

我有一个在 Heroku 中运行相当缓慢的 rails 应用程序,我假设由于数据库和 rails,网页加载缓慢。 所以我想让它成为可能的是有一段javascript,它只会加载Rails内容或一个在整个页面加载后包含rails的div。

像这样的

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

如何做到这一点? 谢谢

【问题讨论】:

你的意思是“我如何有一个静态页面作为我的 Rails 应用程序的入口点,第一次访问时可能需要一些时间才能启动?” 是的,听起来更好 页面加载总是很慢还是只有在一段时间不活动后才访问它? 加载总是很慢,除非我移除 Rails 【参考方案1】:

你的问题非常模糊,但这是你需要去的方向

    从您的视图中删除内容 向视图添加微调器 gif 在 Javascript 中,一旦 DOM 准备就绪,发送 API request 以获取此慢速信息 使 gif 微调器消失 Inject你的信息进入页面

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

【讨论】:

【参考方案2】:

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

def my_action
  render layout: false
end

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

这有帮助吗?

【讨论】:

以上是关于静态页面加载后加载 Rails的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5 API - 即使无法建立与数据库的连接,也加载静态页面

页面加载后加载mysql查询

Yii2 加载cssjs 载静态资源

页面加载后加载面板内容

html页面加载JS文件经常错误

html加载JS关闭当前页面代码