【问题标题】: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
【解决方案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 代码