目前我的应用程序在 rails 3.1.3 & ruby 1.9.3 上运行。
我想将我的应用程序升级到 rails 4.1 & ruby 2.1
谁能告诉我如何升级rails应用程序?
提前致谢
目前我的应用程序在 rails 3.1.3 & ruby 1.9.3 上运行。
我想将我的应用程序升级到 rails 4.1 & ruby 2.1
谁能告诉我如何升级rails应用程序?
提前致谢
没有具体定义的升级方式。您可以参考 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/
但是,请遵循几点以使其更容易。一次升级一个。最好先升级你的红宝石,然后在第二个循环中升级。在每个步骤中进行测试,因为 gem 可能会由于它们的依赖关系而失败。手动升级宝石并避免bundle update
作为@shivam 答案的补充。
指南通常不包含所有信息。他们经常不说为什么某些步骤是必要的。
最专业的方法是至少阅读下一个主要版本的发行说明。Rails 遵循语义版本控制,这意味着所有以下 4.xx 版本都不允许引入破坏性的公共 api 更改。
查看Rails 4 发行说明。注意标记为已弃用的内容以及提取到单独 gem 中的内容。最好的教程是升级到 Rails 4截屏视频。
升级最棘手的部分是从模型中的 protected_attributes 更改为控制器中的 strong_parameters 作为针对批量分配保护的默认机制。如果您的应用程序已经严重依赖 protected_attributes,那么将这种保护从模型外移到每个控制器可能是一项艰巨的任务。在这种情况下,建议protected_attributes
仅将它们作为额外的 gem(同名)包含在内。
在红宝石更新的情况下。您几乎可以安全地从 1.9.3 更新到 2.1.2。Ruby 仅从主要版本 2 开始遵循 semver。如果自 1.9.3 以来甚至存在一些不兼容问题,那么您的应用程序使用此功能的可能性很小。我们可以将我们所有的应用程序从 1.9.x 升级到最新的 2.xx,而无需更改单个 ruby 代码