`
fantaxy025025
  • 浏览: 1335993 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

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

 

 

 

 

 

分享到:
评论

相关推荐

    inspinia admin - v2.5 Rails_Full_Version

    Rails是Ruby编程语言的一个强大的Web开发框架,遵循“约定优于配置”(Convention over Configuration, CoC)的设计理念,使得开发过程更为简洁高效。Rails_Full_Version意味着这个压缩包包含了构建Inspinia Admin ...

    weixin_rails_middleware, 微信集成 ruby weixin_rails_middleware for integration weixin..zip

    综上所述,`weixin_rails_middleware` 是一款强大且易于使用的工具,能够帮助 Ruby on Rails 开发者无缝集成微信服务,实现各种定制化的微信功能,如自动回复、用户管理、消息推送等。通过深入理解其工作原理和使用...

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器.zip

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    InspiniaAdmin 2.6.1 Rails_Full_Version

    总的来说,InspiniaAdmin 2.6.1 Rails Full Version是一个强大且全面的后台管理解决方案,结合了Ruby on Rails的高效开发能力和Bootstrap的现代化设计,为Web应用开发者提供了强大的工具箱,使得后台开发工作变得...

    agile_web_development_with_rails_3rd_edition.9994652073.pdf

    Rails的设计理念是“约定优于配置”,这意味着框架会提供一系列默认设置,以减少开发人员的配置负担,使他们能够更快地专注于业务逻辑的实现。此外,Rails还提供了丰富的ORM(对象关系映射)工具ActiveRecord,以及...

    bhl_rails_solr-源码.rar

    5. **initializers/solr.rb**:初始化脚本,启动时加载Solr配置并设置连接。 接下来,我们关注如何通过bhl_rails_solr实现Rails应用与Solr的集成: 1. **索引创建与更新**:源码中的索引逻辑通常会覆盖...

    InspiniaAdmin 2.5 Rails_Seed_Project

    此外,Rails_Seed_Project包含了初始化数据库的种子文件,通常位于db/seeds.rb中。开发者可以在这个文件中填充初始数据,或者设置一些默认值,以便于快速启动项目。数据库迁移文件位于db/migrate目录下,这些文件...

    rails_admin_acts_as_list:rails_admin插件以对记录进行排序

    在您的config/initializers/rails_admin.rb初始化程序中添加配置: RailsAdmin . config do | config | config . model Post do list do sort_by :position # Add Default sorting sort_reverse false # sort p

    inspinia admin - v2.5 Rails_Seed_Project

    在Ruby on Rails框架中,种子数据(Seed Data)通常用于初始化数据库,为应用程序提供基础数据。Rails_Seed_Project则是Inspinia Admin在Rails环境下的一个种子项目,它的主要目的是快速搭建一个具备基本功能的后台...

    rails_best_practices:Rails项目的代码度量工具

    rails_best_practices ...默认情况下,rails_best_practices将解析vendor , spec , test和features目录中的代码。 排除目录 要排除目录,只需使用-e或--exclude调用: rails_best_practices -e "db/migrate

    RestFul_Rails_Dev_pdf_v_0.1.zip

    Rails,全称Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,其核心设计理念就是遵循DRY(Don't Repeat Yourself)原则和Convention over Configuration(约定优于配置)的思想,为开发者提供了便捷的Web开发...

    Ruby on Rails_ Up and Running

    RUBY的经典之作,对其在RAILS下开发写得很详细

    ruby rails_kindeditor(编译器)插件

    Ruby on Rails 是一个流行的开源 web 开发框架,它基于 Ruby 语言,以其“约定优于配置”的设计理念和 MVC(模型-视图-控制器)架构模式受到开发者喜爱。在开发过程中,有时候我们需要集成富文本编辑器来方便用户...

    inspinia_admin_v2.5_Rails_Full_Version

    Rails是Ruby编程语言的一个开源Web应用程序框架,遵循MVC(模型-视图-控制器)架构模式,以简洁和生产力为核心理念,强调“约定优于配置”,使得开发过程更为高效。Inspinia Admin Rails全版本正是在这样的背景下...

    angular_rails_csrf-源码.rar

    2. Rails的控制器和视图:Rails端可能有修改过的控制器,用于在响应中返回CSRF令牌,或者更新后的视图,用于在页面加载时将令牌传递给Angular。 3. 配置文件:可能包括Rails的`config/application.rb`或`config/...

    Rails_3_Cheat_Sheets.pdf

    Rails_3_Cheat_Sheets.pdf

    InspiniaAdmin 2.5 Rails_full_version

    InspiniaAdmin 2.5 Rails_full_version

    rails_kindeditor:用于Ruby on Rails的Kindeditor

    rails_kindeditor将帮助您的rails应用程序与kindeditor集成,包括图像和文件上传。 安装及使用 将此添加到您的Gemfile gem 'jquery-rails' gem 'rails_kindeditor' 注意:Rails 5.1已从默认设置中删除了对jQuery...

Global site tag (gtag.js) - Google Analytics