开始学习Rails源代码

时间:2010-04-22 03:27:28

标签: ruby-on-rails open-source

我最近一直在使用Ruby on Rails进行许多项目,我认为看看Rails源代码并真正了解事情如何在下面运行会很有趣。我认为这将是一次很棒的学习经历,并且可能会增强我对Rails应用程序进行编码的方式。

有没有人有关于如何开始的任何提示?在Rails源中,应用程序何时开始执行?也许如果我从那里开始,我可以看到一切都是如何加载的并且一般都可以工作。

4 个答案:

答案 0 :(得分:12)

  

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

这是一个好主意!

您应该从第一个位置开始Rails source on GitHub(此处为branch 2.3)。如果您正在使用Rails,您可能已经熟悉Rails本身由几个不同的Gems组成的事实:ActiveRecordActiveSupport,...

立即跳入代码不能那么简单。我建议你开始深入研究Rails代码库的两种方法:

  • 习惯,任何时候使用方法,帮助器或Rails命令跳转到查找源代码中的方法并读取它。尝试了解它的上下文,它是如何工作的以及它使用的方法/库。然后,每次方法A使用方法B时,开始返回并查找方法B.设置反向查找次数的限制,例如2个上级,这样您就不会最终查找整个框架了来自link_to助手。

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

在您能够整理所有信息并理解单个Rails应用程序如何工作之前需要一段时间,但这绝对是值得的。

作为附注,几个月前我开始了一个名为Inside Ruby on Rails的系列。你可能想看一看。

答案 1 :(得分:4)

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

答案 2 :(得分:1)

我参加晚会很晚。 如果您对ActionDispatch(对控制器的路由请求)感兴趣,那么文档“Rails on Rack”是一个很好的起点。

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

对于当前的主分支,您需要边缘指南

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

本文可帮助您了解导轨和机架之间的关系。一旦了解了rack,就可以找出对rails框架的请求的入口点。(Rails实现机架app界面)

您可以按照入口点一直走到控制器。这就是我所做的。

答案 3 :(得分:0)

怎么样......

  • guides.rubyonrails.org
  • railscasts.com