0

目前我的应用程序在 rails 3.1.3 & ruby​​ 1.9.3 上运行。

我想将我的应用程序升级到 rails 4.1 & ruby​​ 2.1

谁能告诉我如何升级rails应用程序?

提前致谢

4

2 回答 2

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/

但是,请遵循几点以使其更容易。一次升级一个。最好先升级你的红宝石,然后在第二个循环中升级。在每个步骤中进行测试,因为 gem 可能会由于它们的依赖关系而失败。手动升级宝石并避免bundle update

于 2014-07-17T07:53:33.763 回答
0

作为@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​​ 代码

于 2014-07-17T08:49:33.890 回答