静态页面加载后加载 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的主要内容,如果未能解决你的问题,请参考以下文章