阅读前的准备

如果你已经打算阅读 rails 源代码了,你一定已经安装好 ruby 和 rails 了,可能和我一样你也是用 rvm 来安装和管理 ruby 版本的。

必要的 ruby 语言知识

除了掌握基本的 ruby 语言外,还需要掌握基本的元编程知识,读过<ruby 元编程>最好,但这不是必须的,你需要熟悉下面这些方法:

  • 类方法的定义,用这种方法的好处是比较集中,方便阅读,你也可以少敲很多 self
class << self
  def foo
    # method body
  end
end
  • 几个重要的方法
    class_eval
    instance_eval
    method_missing
    extend
    extended
    included
    inherited
    可能还有其他方法,我一时想不起来了,或者我还没有遇到,毕竟我也才开始阅读 rails 源码。遇到不清楚的查 ruby 库文档就可以了。
我们要读的代码

首先要分清楚这么几个概念:rails 包源代码rails 源代码rails 应用代码,我们主要读的是后两个。

  • rails 包源代码
    rails gem 的开发包,是从 github 上直接 git clone 下来的代码,可以随便看看,但不是我们将要阅读的目标。
  • rails 源代码
    这是我们将要阅读的代码,通过 gem install rails安装后,rails源代码及其依赖的 gem 源代码都保存在 gem 的安装目录里,它的目录代码和开发包是很不一样的。
  • rails 应用代码
    当我们运行了rails new foo之后,rails 生成的 app 框架,应用的逻辑代码。
rails 安装目录

通过运行 gem environment gemdir rails 可以查看 rails 的安装目录,在我的机器上是 ~/.rvm/gems/ruby-2.4.0/gems/ 。你可以用一个你趁手的编辑器打开它,vim 是一个很好的选择。

ruby 和 rails api 查询

ruby 核心库
ruby 标准库
rails API

你可能感兴趣的:(阅读前的准备)