随着时间的推移,我们正在升级我们的 Rails 3.2.x 应用程序,使其与 Rails 4 兼容。例如,我们的任何新代码都是使用强参数而不是attr_accessible
. 我们希望对 ActiveRecord 等功能采用类似的方法none
,find_or_create_by
因此当我们完成对 Rails 4 的升级时,我们不必更改太多代码。
是否有 Rails 4 backports 库可以帮助我们解决这个问题?我们目前有一系列猴子补丁,但似乎会有一个宝石用于此。
随着时间的推移,我们正在升级我们的 Rails 3.2.x 应用程序,使其与 Rails 4 兼容。例如,我们的任何新代码都是使用强参数而不是attr_accessible
. 我们希望对 ActiveRecord 等功能采用类似的方法none
,find_or_create_by
因此当我们完成对 Rails 4 的升级时,我们不必更改太多代码。
是否有 Rails 4 backports 库可以帮助我们解决这个问题?我们目前有一系列猴子补丁,但似乎会有一个宝石用于此。
不,那里没有。正如您所注意到的,某些功能以 gem(例如strong_params
)的形式提供,您可以在以前的版本中轻松安装这些功能。
如果出现严重的弃用,Rails 核心团队通常会在旧版本中包含弃用消息以及向后移植,以便您可以在升级版本之前修复弃用。
在 的情况下none
,这不是弃用,而是一个特性。除非您在 gem 中找到它,否则您必须升级到 Rails 4 才能使用它。
find_or_create_by
已弃用,但 Rails 4.0 仍然支持它。因此,您可以稍后升级和删除代码。
一般而言,不推荐使用的反向移植通常仅用于那些会在升级后立即导致不兼容的更改,从而阻止您的应用程序甚至无法正常启动或运行。