2013-10-14 41 views
5

我有很多遺留的CSS文件,來自Rails 3.2.8升級到Rails 2.x的應用程序,我想切換到使用Rails資產管道進行樣式表。問題是,CSS的東西在龐大的代碼行,重複的文件名和無組織的文件夾結構方面很混亂。切換CSS以在Rails中使用資產管道?

通過查看單個頁面,並嘗試將各個樣式表和文件夾添加到資產管道並花費一些週期調試後,我意識到可能有更好的方法。

有沒有辦法測試以確保舊的CSS與資產管道CSS相匹配?什麼是測試和調試CSS的好工具?

+0

您可能想看看RailsCasts的這一集:http://railscasts.com/episodes/282-upgrading-to-rails-3-1另外,請確保您從3.2.8升級到3.2。出於安全原因,儘可能快地進行。 – depa

回答

1

這實際上是一個很好的問題。我只知道一個名爲wraith的工具,它會截取頁面的截圖並比較它們。允許您的設計進行迴歸測試。儘管如此,你仍然需要對每個頁面進行測試。

如果你看看你的瀏覽器,你也有可能看到哪些css選擇器沒有被使用。您可以從刪除整個頁面未使用的樣式開始。

我認爲你將不得不採取苦藥和重構你的CSS點點滴滴。 sass和scss可能會幫助你。

在某些時候,它可能會更好地開始與乾淨的石板雖然。只需從一頁開始,從頭開始創建CSS。至少你知道它是如何看起來像...

0

我在類似的情況下與一個大的遺留應用程序。雖然我還沒有作出躍遷的是,這裏是我期待的步驟:

  • 升級與資產管道Rails的最新禁用3.2.x中(這樣做,但現在仍處於測試階段)
  • 升級到最新的Rails 4.x(因爲資產管道在版本之間改變)
  • 將我的css頁面劃分爲適用於每個頁面的頁面和頁面特定的頁面。對於資產管道,僅包含適用於每個頁面的那些資源管線,並激活管道。
  • 隨着時間的推移,重寫CSS,以便頁面特定規則可以包含在全局規則中,直到所有內容都處於第一個類別。

我看到在升級到與資產管道無關的rails 3.2中的優勢,所以這是一個勝利。我有許多CSS和JS文件可以在每個頁面上加載(或可以)加載而不會發生衝突,因此進入該階段應該有所改進。轉換剩下的樣式表可以在一段時間內完成,並希望以安全的方式完成。

希望這會有所幫助。我期待看到任何其他人從一個不太平凡的Web應用程序上做出這種轉變的答案。