【问题标题】:upgrade ruby on rails application升级 ruby​​ on rails 应用程序
【发布时间】:2014-09-07 21:12:24
【问题描述】:

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

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

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

提前致谢

【问题讨论】:

标签: ruby-on-rails ruby upgrade ruby-on-rails-4.1 ruby-2.1


【解决方案1】:

没有具体定义的升级方式。您可以参考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

【讨论】:

    【解决方案2】:

    作为@shivam 答案的补充。

    指南通常不包含所有信息。而且他们通常不会说明为什么某些步骤是必要的。

    最专业的方法是至少阅读下一个主要版本的发行说明。 Rails 遵循语义版本控制,这意味着所有 4.x.x 之后的版本都不允许引入破坏性的公共 api 更改。

    检查Rails 4 Release Notes。注意标记为已弃用的内容以及提取到单独 gem 中的内容。最好的教程是Upgrading to Rails 4 Screencast。

    关于升级最棘手的部分是从模型中的 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.x.x,而无需更改单个 ruby​​ 代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-15
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多