2009-07-07 49 views
1

在现在,当我从开发到分期移动有几次,我已经被卷起时到一个文件中的JavaScript和样式如何改变他们的行为咬伤。为什么滚动JavaScript或CSS在轨道螺丝与布局?

例如,我试图确保串联样式表模块化的和小的可维护性,像这样:

<%= stylesheet_link_tag "reset-fonts-grid.css", "typography.css", "layout.css", "cms.css", "cms.about.css", "cms.legal.css", "comments.css", "user_generated_content.css", "overlay.css", "login_page.css", "flag_for_admin.css", 'patch.css', 'nag_guide.css', :cache => "cache/all" %> 

的工作在发展很好,当你比计算更关心的调试HTTP要求。

但只要我移动到生产环境或设置缓存是在配置/环境/ development.rb像下面,布局打破:

config.action_controller.perform_caching =假

这里发生了什么,为什么连接文件的行为与这样的一系列较小请求的行为不同,我该如何解决这个问题?

另外,与文件大小相比,http请求的数量实际上在页面上产生了多少差异?

+0

布局破坏的方式是什么? – 2009-07-07 12:29:33

+0

嗨,约翰, 基本上样式似乎被覆盖,或只是简单地忽略样式表连接。 例如,我将元素设置为'display:none;'出现,破坏页面布局,填充或边距开始变得非常难以预料。 – 2009-07-07 12:48:59

回答

0

出于兴趣,如果你改变你的:cache选项,这样它不包括斜杠操作呢?例如:

<%= stylesheet_link_tag "reset-fonts-grid.css", ..., :cache => "foo" %> 
  • 什么是HTML元素link看起来像Rails是产生为合并后的样式表?
0

如果您想深入了解样式在连接和非连接情况下应用的细节,您可以安装Firefox的FireBug插件。然后打开两个浏览器窗口,一个在开发页面,另一个在生产环境中,使用FireBug隔离一个给你麻烦的DOM元素,并比较两种不同情况下该元素的计算CSS属性。

最新版本的Safari有一个非常类似于FireBug的内置工具。

Rails是否可能以不正确的顺序连接CSS文件?似乎不大可能,但也许有Rails中的错误。看看连接的文件并检查顺序。如果它们出现故障,您可以创建一个主CSS文件并使用@include语句包含其他文件。这将确保他们按正确的顺序阅读。