2

我最近开始在 Ruby on Rails 中进行一个小型个人项目,并且遇到了一些我无法找到明确答案的事情。如果这里的任何人有足够的知识来提供帮助,那将不胜感激。我所有的问题如下:

  • 使用 Rails Gem 而不是在 vendor/rails 中使用它有什么好处?
  • 使用 Rails 2.3.2 有什么好处吗?我希望使用的一些插件似乎与 2.3.2 (ActiveScaffold) 不兼容?它是否比 2.2 提供了很大的改进?
  • 使用 Ruby 1.9 有什么好处?许多插件还不兼容。它是否比旧版本有很大的改进?

感谢你们可能提供的任何帮助。

4

3 回答 3

3
  1. vendor/rails 可能使您的项目更具可移植性。运行 rake gems:install 的部署可能有点不稳定,特别是如果您升级“框架 Gem”(您必须手动执行这些操作)。

    vendor/rails 的缺点是它会使您的部署稍大一些(必须推送更多文件),但是如果您使用 git 和 Capistrano 之类的东西,这只会让您在初始部署时受到影响……但它还不错。

  2. 我不认为有任何巨大的好处。这仅取决于您是否需要 2.3.2 中的功能。显然,您想尝试运行最新版本以减少升级的痛苦。我发现如果你想在未来升级任何变化,你总是需要升级 Rails 下的框架。

  3. 表现。正如你所指出的,很多插件都坏了。这是一个先有鸡还是先有蛋的问题,但加班应该会自行解决。我们还没有在我们的任何生产应用程序中运行 1.9,因为它与堆栈的其余部分太不稳定。

于 2009-07-25T18:55:22.260 回答
1

我将解决宝石问题。

我过去曾使用过出售的 gem,但我几乎不再使用它,除非在极少数情况下我需要分叉 gem 以出于某种目的对其进行自定义,在这种情况下我会出售 gem。

从我的角度来看,不供应商的主要原因是你不能干净地供应任何带有 C 模块的 gem,因为它们需要编译。

一个非常好的选择是使用 gem 管理工具,例如 geminstaller,它允许您配置项目所针对的 gem 和特定版本的 gem,以便您在部署中拥有一组一致的 gem。

于 2009-07-25T18:57:52.787 回答
1

使用 Rails Gem 而不是在 vendor/rails 中使用它有什么好处?

最大的好处是您不需要在项目中携带完整的 rails 源代码,另一个好处是迁移到更新版本的 rails 将需要更少的工作。

请记住,gem 命令将允许您安装特定版本的 gem。

使用 Rails 2.3.2 有什么好处吗?我希望使用的一些插件似乎与 2.3.2 (ActiveScaffold) 不兼容?它是否比 2.2 提供了很大的改进?

从 rails 2.2 到 2.3.2 发生了很多变化,还有很多安全性、性能和错误修复。ActiveScaffold与 rails 2.3.2 兼容,大多数插件也是如此。如果您正在开始一个新项目,我建议您使用最新最好的。

使用 Ruby 1.9 有什么好处?许多插件还不兼容。它是否比旧版本有很大的改进?

Ruby 1.9 比 Ruby 1.8.x 快得多,但是 1.9 的采用率并不高。Rails 2.3.2 在 Ruby 1.9 上工作得很好,但是有些插件和 gem 不能。确保您阅读了有关该主题的这个 stackoverflow问题。

于 2009-07-26T04:12:36.103 回答