2010-08-20 84 views

回答

6

我已经成功地将Ruby 1.8.7/Rails 2.3.5中的所有Rails项目(除了一个,但我正在处理它)转换为Rails 3.0.0和Ruby 1.8.7/1.9.2 RC2而且这两种环境都非常稳定。

幸运的是,自从我发布this question以来,情况发生了变化。

Rails的

除非你真的有东西阻止你这样做,我强烈建议你开始使用Rails 3 从梁2的应用升级到Rails 3中所需的工作应劝阻你从开始的Rails 2.

谈到插件和宝石,许多开发人员开始将他们的库转换为Rails 3.目前有一个非常高的兼容性级别。 此外,Rails 3重点插件通常比Rails 2.3更强大,这要归功于新的Rails插件API。他们可以加载任务,不再滥用猴子补丁或依赖内部黑客。

此外,Rails 3即将发布。除非您的项目将在1周内部署,否则稳定版本可能会在您部署代码之前提供。 我不会发生这种情况,考虑到我目前在生产环境中管理几个Rails 3项目,并且它们非常稳定(Rails 3 RC1,Beta 4在缓存环境中有一个非常奇怪的错误)。

的Ruby 1.9.2

的Ruby 1.9.2方式比Ruby 1.8.7更加强大。如果这是一个全新的项目,我建议你使用1.9分支。

通常,在Ruby 1.9中启动一个新项目比转换现有项目更容易。

Ruby 1.9.2比REE更快,速度更快。大多数常见的Ruby 1.8.7 Gems除Ruby之外的其他版本,如RCov。 同样,你很难去需要一个不适合于Ruby 1.9.2的库。

如果发生这种情况,很可能这是一个过期的库,Ruby生态系统中可能会有更好的替代品。

如果您找不到替代方案,请记住,由于Bundler,Rails 3提供了使用自定义库的绝佳方法。 您可以分解项目并让Bundler使用您的分叉。您甚至可以将库整合到您的回购库中,并要求Bundler从路径加载库。

结论

从我个人的经验,我已经很高兴使用Ruby 1.9.2和Rails 3. 这是迄今为止我最喜欢的环境和新的项目我的默认环境。

如果您不能使用Ruby 1.9.2,请尝试使用Ruby 1.8.7。 在另一边,我强烈建议你开始使用Rails 3

+0

从Rails3和Ruby 1.9.2开始,我绝对喜欢它!所有在Rails2中并不轻松的事情都已经消失了,并被Rails3所取代。RESTful lovin如新路线和ActiveRecord查询 – ScotterC 2010-08-25 17:24:50

2

它最终取决于项目是什么。如果这是一个个人项目,并且您正在使用它作为学习Ruby/Rails的手段,那么我认为这值得学习和使用最新的工具。如果这是客户端工作,或者您的主要目标只是为了完成此项目,那么2.3.5/1.8.7可能是最好的选择,因为您提到的资源,以及大量支持库/宝石只是工作。您将不得不在某个时间学习Rails 3/Ruby 1.9.x,因为这绝对是社区领导的地方。

我会做一些研究,看看你的项目需要什么样的宝石,并确保如果你选择Rails 3/1.9.2路由支持所有的东西。此外,加入IRC并询问有关其他人的经验与任何宝石有问题。

我可以告诉你,我有一个小的Rails 3/1.9.2应用程序,在生产环境中运行良好,虽然它非常小并且是个人项目。

+0

感谢您的洞察力。我没有考虑宝石兼容性。这不是为了客户,而是为了严肃的生产。我倾向于用它去。 – ScotterC 2010-08-20 18:45:14

+0

除非您在应用程序中使用某些花哨的字符编码,否则,gem兼容性将是您最大的问题。许多宝石开发人员正在研究Rails 3的兼容性,大多数流行的宝石至少有一些适用于Rails 3的东西,即使它是测试版。 – bobbywilson0 2010-08-20 19:05:45

+0

我同意,再加上1.9.2刚刚发布,所以可能有一些bug仍然存在... – rogerdpack 2010-08-20 20:09:53

1

您可能需要使用RVM

尝试的Ruby 1.9.2我一直在使用它,并在开发一些Rails3中应用程序,同时保持我们目前的生产站点(一直到Rails 2.2/Ruby 1.8.5)。 只有抱怨不得不记得启动RVM ^^

+0

Love RVM。让生活更轻松。 – ScotterC 2010-08-25 17:25:43

相关问题