2009-07-07 46 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語句包含其他文件。這將確保他們按正確的順序閱讀。