客戶端指出我在Ubuntu服務器(2.3.4)上安裝的Rails版本與舊版本2.3.2不兼容。簡單問題:Rails 2.3.4是否向下兼容Rails 2.3.2?
我想知道這是否屬實,然後再嘗試安裝較舊的Rails。
客戶端指出我在Ubuntu服務器(2.3.4)上安裝的Rails版本與舊版本2.3.2不兼容。簡單問題:Rails 2.3.4是否向下兼容Rails 2.3.2?
我想知道這是否屬實,然後再嘗試安裝較舊的Rails。
rubygems的美麗。只需安裝兩個版本,並讓他們指定在其環境中的哪個版本解決了文件問題誰在乎它的兼容性與否
新功能永遠不會向後兼容。
是的,但是在兩個不同版本之間可能存在一些向後不兼容的變化。這不是新功能。這是(通常未使用)功能刪除。一個具體的例子是:http://stackoverflow.com/questions/1612633/how-to-support-backwards-compatibility-with-the-changes-to-the-accept-header-hand – 2009-10-26 16:15:35
這很明顯不是導致問題的問題。 – SFEley 2009-10-27 16:10:40
嗯,這可能是你正在使用的是可在2.3.4版本只有功能,因此他們在2.3.2版本不。
查看其更新日誌以查看差異。
在較小的Rails版本之間升級通常會導致舊應用程序出現問題。
也就是說,2.3.4是目前推薦的穩定版本,所以它可能會值得咬牙切齒,讓2.3.2應用程序運行。如果你有一個體面的測試套件,可能不會花很長時間。
還有一些引入的錯誤。就像這個我發現涉及named scopes using includes.這是在2.3.3中引入的,並沒有在2.3.4中修復
2.3.2 => 2.3.4一直是我們迄今爲止最無痛的升級(大型應用程序有很多傳統的rails 1.x代碼)。
唯一的major issues we had were with after_initialize
vs exists?
。
這一切都因應用程序而異。如果你正在託管一個客戶端的應用程序,那麼你應該提供所有rails版本的寶石(他們會高興地並肩(90%的時間))。
您可能想看看以下相關問題:http://stackoverflow.com/questions/1612633/如何支持向後兼容與更改接受表頭 – 2009-10-26 15:57:34
Whya他們說這是不是向後兼容? – 2009-10-26 20:52:19