目前我的应用程序在rails 3.1.3&红宝石1.9.3。
我想将我的应用程序升级到rails 4.1&红宝石2.1
有谁能告诉我如何升级rails应用程序?
提前致谢
答案 0 :(得分:0)
没有特定的升级方法。您可以参考http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html或人们根据个人经历撰写的许多其他博客文章。只是谷歌他们。
http://www.sitepoint.com/get-your-app-ready-for-rails-4/ https://developer.uservoice.com/blog/2012/03/04/how-to-upgrade-a-rails-2-3-app-to-ruby-1-9-3/
然而,请遵循以下几点以使其更容易。一次升级一个。最好先升级你的红宝石,然后在第二个循环中升级。
通过在每个步骤进行测试,因为宝石可能因其依赖性而失败。
手动升级您的宝石并避免bundle update
答案 1 :(得分:0)
除了@shivam的回答。
指南通常不包含所有信息。他们经常不说为什么有些步骤是必要的。
最专业的方法是至少阅读下一个主要版本的发行说明。 Rails遵循语义版本控制,这意味着所有后续的4.x.x版本都不允许引入破坏公共API的更改。
检查Rails 4 Release Notes。注意标记为已弃用的内容以及提取到单独gem的内容。可用的最佳教程是Upgrading to Rails 4截屏视频。
升级中最棘手的部分是从模型中的protected_attributes更改为控制器中的strong_parameters,作为针对质量分配保护的默认机制。
如果您的应用程序已经严重依赖protected_attributes,那么将此保护移到模型之外的每个控制器都是一项艰巨的任务。在这种情况下,建议坚持使用protected_attributes
,只需将它们包含为额外的宝石(同名)。
如果发生ruby更新。您几乎可以安全地从1.9.3更新到2.1.2。 Ruby仅在Major版本2之后才跟随semver。如果自1.9.3以来甚至出现了一些不兼容的概率很小,那么你的应用程序就使用了这个功能。我们可以将所有应用程序从1.9.x升级到最后的2.x.x而无需单个ruby代码更改