【问题标题】:Just starting in Rails --> Is it really buggy these days or is it just me?刚从 Rails 开始 --> 这些天真的有问题还是只有我?
【发布时间】:2010-07-06 05:41:48
【问题描述】:

我在 PHP 和 Python 框架上花费了相当多的时间,最近我想我会扩展到 Rails。我喜欢这个框架本身,但我似乎花费了至少一半的开发时间来解决奇怪的错误和/或 rails/ruby/rake/gems 之间的版本不兼容问题。

如果不那么麻烦的话,我很乐意与这一切作斗争,但即使一个月后,我似乎也花了 90% 的时间来追踪别人的错误,而我只有 10% 的时间来追踪我的自己的。唯一与我交谈过的人(直到 2008 年才广泛使用它)建议“在过去的 2 年里,这几乎是铁轨”

对此有何看法?它会变得更好,还是这只是目前 Rails 开发的标准?

如果重要的话,通过 Ubuntu 10.04 运行它。

【问题讨论】:

  • 您能举一些更具体的例子吗?您使用的是什么版本的导轨?哪些宝石不起作用?如果您刚开始使用 Rails 3,那么这是意料之中的 - 它仍然不是一个完整的版本。
  • 没什么太具体的,只是很多小事。 (Gem x 仅适用于 1.8.7,gem y 需要 1.9.x,>1.8.7 &
  • 我已经使用 Rails 一年半了,这对我来说并不常见。但我还是用 Ruby 1.8.7,Rails 2.3.x

标签: ruby-on-rails ruby


【解决方案1】:

Rails 目前正处于 2.3x 和 3.0 之间的过渡阶段,因此您会发现它非常具有挑战性,因为大多数最新的文档和 rails 插件自述文件都在为 rails 3 更新。现在有几个工具是必不可少的谈判这件事。首先,Rails 3 使用 bundler 来管理依赖关系,这是一种更加文明的方式来管理 gem。

gem install bundler
cd my_rails_project
bundle install

RVM(ruby 版本管理器)很棒,我建议安装它。然后,您可以在每个项目的基础上构建 gemsets 和依赖项集。而且您不需要超级用户访问权限即可安装。

另外,如果是我,我会直接从 rails 3 开始

gem install rails --pre

如果您想继续使用 rails 2.3.x,请使用 rake 任务来安装声明的依赖项。

rake gems:install

如果项目是一个好的项目,它会非常具体地说明它需要什么(在config/environment.rb 文件中声明),然后如果它没有运行,检查堆栈跟踪以查看它失败的地方。

【讨论】:

    【解决方案2】:

    根据我的经验,这不适合 Rails 开发。

    【讨论】:

      【解决方案3】:

      在使用 gems 时,请阅读 github 项目 repos 上的 README 文件并查看问题和 wikis....这应该可以让您大致了解哪个 gem 与您的 Rails 版本兼容。关于框架,它非常稳定....主要错误或补丁或版本报告在weblog.rubyonrails.org

      随着每个版本的发布,事情都会逐渐增长,这是显而易见的。 Rails 代码中详细记录了一些弃用,并在您运行代码时报告。

      【讨论】:

        【解决方案4】:

        Rails 本身没有错误。除非我一直在复制打开的票证,否则我已经有一段时间没有看到框架本身存在错误了。

        您看到的问题已经蔓延到几个不同的领域:

        1. 我们已作为一个社区从 Ruby 1.8.x 迁移到 1.9 在过去一年左右的时间里,还有一些 gems 有特定的 Ruby 版本 您需要检查的要求 在使用它们之前。大多数更 流行的宝石很好并且经过测试 在多种环境中工作。先阅读文档。

        2. Rails 本身已经成熟 在过去的几年中显着 年,这意味着很多 功能已被弃用。很多 那里的插件是写的 对于旧版本的 框架和期望的行为 只是不再有效。先阅读文档。

        3. 几种不同的 Ruby 解释器 现在可用(很棒), 但这些有时可以有一个 对第 3 方的影响 代码,但这很少见。基本上, 一些宝石和插件期望 在特定的解释器上运行。 没有一个真正受欢迎的 像这样,但你需要注意 一些宝石制造商是白痴。先阅读文档。

        您可能会注意到每一点的结尾都有一个共同的主题:首先阅读文档。 :-)

        我会说您的经历与大多数 Rails 开发人员的工作流程完全不同,尽管我们都时不时地经历了一天的挣扎。

        您将很快了解哪些 gems 值得信赖,哪些是您需要但有时可能会遇到困难的(mysql - 在 OS X 上每次都会让我丧命的构建),以及您应该避免哪些。

        不过,总体而言,一旦您掌握了方向并采用了良好的做法,Rails 的开发周期就会更加流畅(您将开发得更快)。不过,我们都喜欢 TDD 和 BDD 是有原因的——如果没有别的办法,它可以帮助我们通过 gem 更新,因为当我们不认识的开发人员做了一些愚蠢的事情时,这些东西仍然可以工作。 :-)

        【讨论】:

          猜你喜欢
          • 2023-04-01
          • 2011-01-10
          • 2020-12-04
          • 1970-01-01
          • 2018-07-21
          • 1970-01-01
          • 1970-01-01
          • 2015-10-19
          • 1970-01-01
          相关资源
          最近更新 更多