2011-11-02 82 views
0

當您選擇在您的開發中使用哪種版本的導軌時,哪種版本最好?要使用哪個版本的導軌

我想升級爲新功能的最新版本,但在許多情況下,機會是很高,我現有的代碼將被打破,和很多額外的時間肯定需要花錢修復它。我應該堅持使用當前版本的導軌嗎?或前往升級?

任何意見或指導將非常感激。

回答

2

這是始終升級有用的,因爲新的寶石可能不支持舊版本的Rails和你西港島線得到Rails的新功能,這可以減少代碼。您可以一步一步地完成,確定時間代碼,這些代碼將在更新版本的Rails中破解。它更像連續的重構。

0

我認爲你必須仔細檢查何時以及如何升級。這裏有一些提示可能有助於升級過程:

  • 補丁版本(如從Rails 3.1.0 to Rails 3.1.1升級)通常沒有問題。儘可能升級,通常你不需要改變任何東西。有時你必須檢查是否應該升級其他Gems,閱讀發行說明,他們給(有時)提示。
  • 次要版本(比如從Rails 3.0.9 to Rails 3.1.0升級)是新的特徵和不兼容的變化。在發行說明中,您會發現已更改的信息,並且必須事先得到證實。作爲一個例子,看看瑞安貝茨railscast "Upgrading to Rails 3.1.0"。您通常必須執行以下步驟:

    • 升級到上一個修補程序版本之前。
    • 查看不推薦使用的日誌消息。這些是升級後可能會破壞的。
    • 標記您當前的應用程序或分支以確保不會因升級而破壞任何東西。
    • 進行升級,直到您確定最需要的功能再次工作。
    • 合併回您的更改,並繼續升級

    (已經做了一個應用程序我從Rails的1.2升級到2.0可達2.3.8最近幾天來3.0.0高達3.0 .9現在3.1.1。)

  • 主要版本升級都更加困難。你必須確保你有足夠的時間和資源來檢查你可能遇到的所有小問題。大多數情況下,Rails團隊提供了可幫助升級的資源,例如Rails upgrade helper或3個railscast "Upgrading to Rails 3"

在任何情況下,您至少應該檢查您正在使用的主要Gem(除了正常的Rails寶石)是否與要遷移到的版本兼容。這可能會很棘手,但有時候,信息是可用的。

我的經驗是,重大的升級需要時間,如果你沒有它,不要做了升級。次要升級需要一些時間,根據變化(Rails 3.1中的資產),會附帶一個價格標籤,有時並非所有時間都值這個標籤。補丁升級是無痛的,應該隨意完成。