2012-09-11 37 views
0

我被賦予了一個相當大的傳統Rails 2.3.2應用程序的責任,並且我被要求爲這個應用程序添加一個相當複雜的RESTful API, JSON。將Rails 2.3.2升級到Rails 2.3.14

經過我的研究,我得出結論,鑑於API調用的性質,使用RABL gem可能是最好的計劃。但是,我發現RABL的依賴關係需要ActiveSupport 2.3.14。

現在,我認爲我不能同時在同一個應用程序中使用ActiveSupport 2.3.2和ActiveSupport 2.3.14,如果我理解正確,如果我升級ActiveSupport,那麼我需要升級其餘的Rails包也是由於依賴性要求。

任何人都可以告訴我Rails 2.3.2和Rails 2.3.14之間的區別,或者我可能會在哪裏找到這些信息,以便我對某些現有功能是否可能會有所瞭解有所瞭解?另外,如果兩個版本的Rails之間存在一些嚴重的差異,任何人都可以推薦RABL的替代方案嗎?我已經看了Jsonify,JBuilder,Tequila等其他一些人,但是RABL真的很吸引人,因爲它通過視圖構建響應,而不像其他控件一樣在控制器中構建響應。

+0

第1步是放入Rails 2.3.14並運行測試套件。看看什麼,如果有的話,休息。 – jdl

+0

是的,謝謝。如果我可以的話我會。 讓我們只是說,從事這個遺留應用程序的以前的開發人員不喜歡更新測試用例的「開銷」。這個系統最大的麻煩之一是完全缺乏測試:-( – richard

回答

0

那麼,最後我不能使用RABL的寶石,或其他任何其他的事情。

ActiveSupport的兩個版本之間的差異導致應用程序在I18n方法中斷開。

我不是100%確定這是否適用於所有應用程序的內置差異,或者如果這是這種傳統應用程序特有的東西,原始開發人員在構建應用程序時做了一些非常規的事情,我懷疑,在幾個地方攻擊了基本的Rails代碼。

但是,我最終使用json和json_pure gems生成了我需要的JSON,它非常簡單地允許您從哈希中生成JSON。他們工作得很好,不需要很多其他寶石所需的依賴。

這意味着你必須在控制器中組裝散列,這對我的思維方式來說並不理想,因爲它應該只是另一種觀點。