学习Rails很久,其实已经将官方的入门指南阅读过N(N>10)遍了;自己动手写的demo也不在少数了,当然由于前端问题,总是不能满意,最终都草草收尾;之前在一个小公司里面实习时候也做的是Rails的开发工作。总是以上的几种经历一直在增加我阅读Rails源代码的兴趣。
其实之前也试着读过几次Rails源代码,每次都是以ActiveRecord这个库作为入手点,可能是由于当时Ruby功底的限制,总是不能坚持下去。
这次再次阅读Rails源代码,以Rails启动流程这篇指南作为阅读的指导,将railties库的源代码阅读了好几遍。相对来说,收获还是很大的。
首先,以rails sever和rails console这个命令为起始点,彻底搞清楚了config文件夹下的配置文件的加载顺序。
其次,railties,engine,application这几个类的继承关系。而且,一个Rails的应用是继承自Application类的。其中Rails应用的定义在config/application.rb这个配置文件中完成。
另外,关于RubyGems,有一点需要记住: 当我们require一个gem包的时候,我们将该gem包的lib文件加入到了load_path下,剩下的事情,和我们require一个普通ruby程序发生的事情是一样的。
关于接下来的事情。这两天在看actionpack这一块的东西,看来看去,其实东西挺多的,很难理出头绪。现在有三种选择,一种是硬着头皮看,另一种就是等过段时间有兴趣了再看,第三种就是每当在开发过程中遇到一种用法的时候,就到源代码中寻找答案,积累着看。我打算选择第三种,当然第二种和第三种并不冲突,等到以后再说。目前是不打算再继 续看下去了。
没事的时候,看看ruby的标准库,想着能不错。