【问题标题】:Load Rails After Static Page Load静态页面加载后加载 Rails
【发布时间】: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

标签: jquery ruby-on-rails ruby heroku


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    def my_action
      render layout: false
    end
    

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

    这有帮助吗?

    【讨论】:

      猜你喜欢
      • 2015-12-30
      • 1970-01-01
      • 2015-04-02
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      相关资源
      最近更新 更多