首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

Rails_初始化历程_和_修改默认配置的接口

2012-11-03 
Rails_初始化过程_和_修改默认配置的接口?Java Servlet 的初始化过程对配置和扩展出框架必不可少。同样,对r

Rails_初始化过程_和_修改默认配置的接口

?

Java Servlet 的初始化过程对配置和扩展出框架必不可少。

同样,对rails,明白其初始化过程,才能更写出合理的代码,也可以根据需要配置和扩展~

?

分析了半天script/server script/console 的代码后发现,前人已经总结了很好的文章,可以暂时节省不少时间~

?

一。The Rails Initialization Process

?

额外强调一下enviroment.rb和config/environments/#{environment}.rb的加载顺序:

先执行enviroment.rb的代码(注意这是代码,不是配置文件):

? Rails::Initializer.run do |config|

? ...

? end

? #注意这里,end之外还可以有配置,run之前也可以有配置,但这都不合理,后面会说到。

?

再加载#{environment}.rb执行。

再执行enviroment.rb的run之后的代码。

?

简而言之:enviroment.rb的run代码会先执行,之后执行#{environment}.rb,所以,#{environment}.rb的配置可以覆盖enviroment.rb的run代码中的配置,但是不会覆盖run之外的配置。

?

看下源代码:

? ? def self.run(command = :process, configuration = Configuration.new)

? ? ? yield configuration if block_given? #先执行了block,之后才执行下面的配置,如#{environment}.rb配置

? ? ? initializer = new configuration

? ? ? initializer.send(command)

? ? ? initializer

? ? end

?

?

二。 Configuring Rails Applications good spots to place initialization

?

明白了一。里的内容,这个内容其实不必要。为了更偷懒,总结下初始化的接入点。five good spots to place initialization code

?

?

?

?

?

热点排行