为什么我的rails app每次都会重新加载application.html.erb

时间:2012-05-08 00:06:17

标签: ruby-on-rails ruby-on-rails-3

我有一个rails应用程序提供静态内容(暂时)。

每当我更改视图时,它都会重新加载application.html.erb内容,这会使页眉和页脚闪烁并且看起来很难看。

我有另一个不执行此操作的rails应用程序。我不清楚该机制是如何工作的,可以通过某种ajax调用来查看单个视图内容。

我的route.rb如下

Zode64::Application.routes.draw do

  get "contact/index"
  get "about/index"
  get "home/index"

  root :to => 'home#index'

  match "home" => "home#index"
  match "about" => "about#index"
  match "contact" => "contact#index"
end

我的链接就像这样

<li><%= link_to "home", "home" %></li>

我遇到问题的应用就是http://www.zode64.com我看到application.html.erb未加载的应用http://whatsthebeef.org/blog

我需要做些什么来防止这种闪烁?

2 个答案:

答案 0 :(得分:4)

不,这只是你。闪烁是浏览器呈现页面的方式,互联网连接或应用程序/服务器的响应时间。 (鉴于你注意到两者之间的差异,它可能不是第一个。)

在任一站点上都没有加载AJAX页面,它们都完全呈现并将页面发送到浏览器以用于每个请求。

例如,我在两个网站上看到很少甚至没有闪烁。

答案 1 :(得分:1)

它也是一个缓存问题。如果您的图像和网页已缓存,则无需从服务器重新加载整个页面,而是从硬盘驱动器重新加载。闪烁真的来自加载时间的差异。

一个糟糕的选择是为您的布局结构使用框架。

然而,只要您相信访问者的Javascript处于活动状态,使用Ajax就可以成为可行的解决方案。