【发布时间】:2010-02-05 09:54:01
【问题描述】:
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 rails-3-upgrade
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 rails-3-upgrade
说实话?当开发人员醒来并开始在他们的 gem 和插件中使用 Rails 3/Ruby 1.9 时。他们知道它已经推出了几个月,而且大多数人甚至都懒得升级。我要特别指出的一个是 authlogic,它是最常用的身份验证插件之一。它仍然不适用于 Rails 3。
哎呀!
【讨论】:
我不打算这样做。我确定我属于极少数,但我的大型应用程序仍在运行 1.2.6。每次我考虑努力升级时,Rails 似乎又发生了变化。
它做了我想做的事,赚了很多钱,尽管我感觉自己越来越被冷落,但我没有足够令人信服的理由来更新它。
【讨论】:
我所有的 Rails 应用程序目前都在 Rails 2.3.5 下运行,每个应用程序的 LOC 都在 80% 或更高。这一直是我为自己创建或在工作中管理的每个产品的关键要求。
通常,升级到次要/错误修复版本只需几分钟。 更改 GEM 版本、升级要求、运行测试、修复问题并提交。
Rails 3.0 是一次重大改写,最大的问题是插件兼容性。 插件不在我的直接控制之下。这也是我使用hard time trying to upgrade to Ruby 1.9.1 的原因。
不过,我已经在玩 Rails 3。我想尽快了解 Rails 3 最重要的变化,以便开始moving the existing apps to the right directions。此外,作为插件作者,开始使用 Rails 3 以使我的插件兼容对我来说很重要。
昨天我从我最简单的应用开始。好吧,至少这是我以前的想法。无论如何,它是外部依赖项数量较少(少于 3 个 Gem)的应用程序,升级大约需要 1 小时,而要弄清楚 Rails 无法加载我的路线的原因需要 3 小时。事实证明,Rails Metal 组件正在与新的 Rails 3 堆栈发生冲突。
我必须解决一些小问题,但我可以说我成功地将我的第一个应用程序迁移到 Rails 3。
一旦 Rails 3 稳定版可用,我计划尽快将我的所有 Rails 应用程序迁移到 Rails 3。或者至少,一旦我弄清楚依赖项是否真的适用于 Rails 3。幸运的是,一个项目已经在http://railsplugins.org/ 启动,目的是列出所有兼容/不兼容的 Rails 插件。
我的远程环境已经与 Rails 3 兼容,我正在使用带有 Ruby 企业版 (1.8.7) 的乘客。唯一的阻塞问题是插件。
我想至少需要一个月的时间才能让我的 Rails 应用程序的主要部分为 Rails 3 做好准备,我认为我可能不会开始升级,直到 Rails 3 稳定版发布或我真的需要一些阻止功能的新版本(例如基于子域的路由)。
【讨论】:
我不会将任何应用升级到 rails 3。
但是,我刚刚决定所有新项目都将是 rails3 前进。缺少插件支持并不是一个大问题,因为我认为这是一个将我的应用程序与插件分离的机会,以便我以后可以随意更换它们。
我还怀疑大型插件会很快升级,因为它们不想被遗忘。
在此处跟踪plugin status。
【讨论】:
我一直将我的应用程序保持在 2.3 的边缘,但由于 Rails 3 中有很多根本性的变化,我可能会安装测试版,努力转换它们,并希望到时候准备好它已作为稳定版本发布。
我也很高兴在 RailsConf 之前有很长的准备时间,所以我可以真正熟悉 Rails 3 的新功能,并且不会感到迷失/不知所措。
【讨论】:
我认为我不会升级我的任何应用程序。与我从中获得的收益相比,这将是大量的工作。此外,在某些情况下,我在应用程序中使用的插件/gem 与 Rails 3 不兼容,因此升级是不可能的,或者需要 fork gems...太耗时了。
如果我必须更新,我可能会再等一会儿,让所有 gem/插件都更新到 Rails 3。当然,我将开发的任何新应用程序都将使用 Rails 3 完成。
【讨论】:
我会回答我自己的问题。
我不确定 Rails 3 会有多少个测试版,但我将推迟转换我的blog 应用程序,直到下一个测试版或最终版本发布。我认为这将是一个相当耗时的过程,因为我有很多构建标记的视图助手、很多命名范围和一些相当复杂的路由。
我想在处理 Rails 3 之前先添加页面缓存!
【讨论】:
在试用了 beta 后,它不想使用任何命令,我决定等到新的 beta 版本。
已为该问题打开票证。
【讨论】:
在意识到我可能在 Zend Framework 和 Doctrine 上花费更多时间来让代码正常工作(修复框架错误、烦人的语言变通方法以及只是简单的痛苦),而不是实际编码功能后,我决定是时候尝试一下 RoR .尤其是 RoR3 现已推出大量文档。
5 小时过去了,看起来很有希望。虽然调试了 1 小时,但插件上的一些文档没有跟上速度,但可惜我在那里。
这很有趣,而且似乎朝着更好的方向发展。更多时间编写功能代码,更少时间编写调试代码。
所以我正在转换的应用程序是我现在部署在 20 多个网站中的高级 CMS,并为我自己的 balupton.com 提供支持 - 所以会很有趣,因为 CMS 已经是一个完整的特色 cms。
【讨论】: