【问题标题】:Getting started with learning the Rails source [closed]开始学习 Rails 源代码 [关闭]
【发布时间】:2010-04-22 03:27:28
【问题描述】:

我最近在许多项目中都使用了 Ruby on Rails,我认为看看 Rails 源代码并真正了解其背后的运作方式会很有趣。我认为这将是一次很棒的学习体验,并且可能会进一步增强我编写 Rails 应用程序的方式。

有人对如何开始有任何提示吗?在 Rails 源代码中的什么地方开始执行应用程序?也许如果我从那里开始,我可以看到所有内容是如何加载和工作的。

【问题讨论】:

标签: ruby-on-rails open-source


【解决方案1】:

我认为这将是一个很好的学习 经验,并可能会增强 我编写 Rails 应用程序的方式 更多。

这是个好主意!

您应该首先从Rails source on GitHub(这里是branch 2.3)开始。如果您使用 Rails,您可能熟悉 Rails 本身由几个不同的 Gem 组成的事实:ActiveRecordActiveSupport、...

立即跳入代码并非如此简单。我建议您使用两种替代方法来开始研究 Rails 代码库:

  • 养成习惯,任何时候你使用一个方法,一个助手或者一个Rails命令,就跳转到源代码中查找方法并阅读它。尝试了解它的上下文、它是如何工作的以及它使用了哪些方法/库。然后,每次方法 A 使用方法 B 时,开始往回走并查找方法 B。设置反向查找的数量限制,例如 2 上层,这样您就不会开始查找整个框架来自link_to 助手。

  • 不要从存储库顶部开始,而是选择您最熟悉的库。如果您没有任何偏好,请从 ActiveSupport 开始。 ActiveSupport 是 Rails 工具包。它提供了大量可用于 Rails 代码甚至 Ruby 程序的扩展。

您需要一段时间才能将所有信息放在一起并了解单个 Rails 应用程序的工作原理,但绝对值得付出努力。

顺便说一句,几个月前我开始了一个名为Inside Ruby on Rails 的系列。你可能想看看。

【讨论】:

    【解决方案2】:

    有一个关于 Rails (3.0) 初始化过程的指南:http://ryanbigg.com/guides/initialization.html

    【讨论】:

    • 提供的链接不再有效。有更新或删除的可能性吗?谢谢。
    【解决方案3】:

    我迟到了。 如果您对 ActionDispatch(将请求路由到控制器)感兴趣,文档“Rails on Rack”是一个很好的起点。

    http://guides.rubyonrails.org/rails_on_rack.html

    对于当前的主分支,你需要边缘引导

    http://edgeguides.rubyonrails.org/rails_on_rack.html

    本文帮助您了解导轨和机架之间的关系。一旦你了解了 rack,你就可以弄清楚一个请求到 rails 框架的入口点。(rack 应用程序接口的 Rails 实现)

    您可以跟随入口点,一直到控制器。我就是这么做的。

    【讨论】:

      【解决方案4】:

      怎么样...

      • guides.rubyonrails.org
      • railscasts.com

      【讨论】:

      • 更多的是学习 Rails,而不是 Rails source
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多