2012-07-09 57 views
0

我想升級應用程序從Rails 2.3.14到Rails 3. 我的問題是我應該去哪個版本的3?哪個版本的rails3升級rails2應用程序到

我應該直奔最新的3.2.2嗎?或者我應該先去3.0版本?

我已經看過各種railscasts,並使用rails升級寶石,但大多數文檔是從前一段時間,當rails 3.0是最新版本。

是否有任何理由不直接進入3.2.2?

+0

3.2.6是現在的最新版本。 3.2.2有sql注入漏洞。 – x1a4 2012-07-09 03:07:27

回答

0

如果我是你,我只會逐步更新,隨時解決問題。這會使錯誤更容易找到,並且它可以防止你對任何中斷的事情感到沮喪。修復破碎的東西更容易做到(稍微多一些)一口大小的東西。

更可能的是,一大堆垃圾將打破每一步的方式。 (Rails 3基本上是Merb和Rails 2之間的混合版本 - a TON of stuff changed。)修復所有新破解的東西。 Peepcode做了nice screencast以及你提到的Railscasts。

然後,一旦您再次滿意您的應用,請升級到3.1。啓動資產管道並運行,並可能將您的應用程序從Prototype轉換爲jQuery,因爲它是新的默認值。修復所有創建的新bug。

一旦您的應用程序正常運行,請升級到3.2,然後嘗試在新更新出來時將其更新爲最新版本。 (在Rails世界中,說起來容易做起來難)我推薦最新的穩定版本,因爲有時候,即使他們推出重大更新,他們也會意識到他們做了一些愚蠢的事情,然後很快再次更新。 Rails的核心團隊並不是每一次都是正確的,但他們很快就認識到了自己的錯誤並很好地解決了它們。

祝你好運。 :-)

+0

我沒有任何原型問題,因爲我已經在Rails 2應用中使用jQuery。我對資產管道的理解是,你沒有使用它,因爲有配置選項。我已經實現了rails升級插件的大部分內容,但並非全部,因爲一些更改會打破rails 2應用程序。我是否應該同時從1.8.7升級我的Ruby(這是3.2的要求嗎?) – giorgio 2012-07-09 04:14:43

+0

好的,這很好,你已經在使用jQuery了。是的,資產管道是可選的,如果您先禁用它,那麼您將爲自己節省一點工作量。 Rails 3.2只需要Ruby 1.8.7,但是由於性能的改進,有些人甚至在更新到Rails 3.0之前更新到Ruby 1.9.3。注意:Ruby 1.8.7 p248和p249有編組錯誤,導致Rails 3崩潰。Ruby Enterprise Edition在1.8.7-2010.02中修復了這些錯誤。至於1.9,Ruby 1.9.1是不可用的,因爲它完全是段錯誤,所以如果你想使用1.9.x,請使用1.9.2或更新版本。 – 2012-07-09 13:51:01

0

如果可能的話,肯定會去最新的穩定版本。

0

是的,沒有理由阻止。我的大多數應用程序正在運行3.2.1,這不是最新的,但非常穩定。

相關問題