随着时间的推移,我们正在升级我们的Rails 3.2.x应用程序的部分以兼容Rails 4。例如,我们的任何新代码都是使用强参数而不是attr_accessible
编写的。我们想对ActiveRecord的none
和find_or_create_by
等功能采取类似的方法,因此在完成升级到Rails 4后,我们不必更改太多代码。
是否有Rails 4 backports库可以帮助我们解决这个问题?我们目前有一些猴子补丁,但似乎有一个宝石。
答案 0 :(得分:1)
不,没有。正如您所注意到的,某些功能是作为gem(例如strong_params
)提供的,您可以在以前的版本中轻松安装。
如果出现严重弃用,Rails核心团队通常会在旧版本中包含弃用消息以及backport,以便您可以在升级版本之前修复弃用。
对于none
,这不是弃用,而是功能。除非您在gem中找到它,否则您将被迫升级到Rails 4以便使用它。
find_or_create_by
是弃用版,但Rails 4.0仍然支持它。因此,您可以稍后升级和删除代码。
一般来说,通常只为那些在升级后会立即导致不兼容的更改提供弃用的后端,以防止您的应用程序启动或正常运行。