閱讀前的準備

如果你已經打算閱讀 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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容