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
分享到:
相关推荐
Rails是Ruby编程语言的一个强大的Web开发框架,遵循“约定优于配置”(Convention over Configuration, CoC)的设计理念,使得开发过程更为简洁高效。Rails_Full_Version意味着这个压缩包包含了构建Inspinia Admin ...
综上所述,`weixin_rails_middleware` 是一款强大且易于使用的工具,能够帮助 Ruby on Rails 开发者无缝集成微信服务,实现各种定制化的微信功能,如自动回复、用户管理、消息推送等。通过深入理解其工作原理和使用...
rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...
rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...
总的来说,InspiniaAdmin 2.6.1 Rails Full Version是一个强大且全面的后台管理解决方案,结合了Ruby on Rails的高效开发能力和Bootstrap的现代化设计,为Web应用开发者提供了强大的工具箱,使得后台开发工作变得...
Rails的设计理念是“约定优于配置”,这意味着框架会提供一系列默认设置,以减少开发人员的配置负担,使他们能够更快地专注于业务逻辑的实现。此外,Rails还提供了丰富的ORM(对象关系映射)工具ActiveRecord,以及...
5. **initializers/solr.rb**:初始化脚本,启动时加载Solr配置并设置连接。 接下来,我们关注如何通过bhl_rails_solr实现Rails应用与Solr的集成: 1. **索引创建与更新**:源码中的索引逻辑通常会覆盖...
此外,Rails_Seed_Project包含了初始化数据库的种子文件,通常位于db/seeds.rb中。开发者可以在这个文件中填充初始数据,或者设置一些默认值,以便于快速启动项目。数据库迁移文件位于db/migrate目录下,这些文件...
在您的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
在Ruby on Rails框架中,种子数据(Seed Data)通常用于初始化数据库,为应用程序提供基础数据。Rails_Seed_Project则是Inspinia Admin在Rails环境下的一个种子项目,它的主要目的是快速搭建一个具备基本功能的后台...
rails_best_practices ...默认情况下,rails_best_practices将解析vendor , spec , test和features目录中的代码。 排除目录 要排除目录,只需使用-e或--exclude调用: rails_best_practices -e "db/migrate
Rails,全称Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,其核心设计理念就是遵循DRY(Don't Repeat Yourself)原则和Convention over Configuration(约定优于配置)的思想,为开发者提供了便捷的Web开发...
RUBY的经典之作,对其在RAILS下开发写得很详细
Ruby on Rails 是一个流行的开源 web 开发框架,它基于 Ruby 语言,以其“约定优于配置”的设计理念和 MVC(模型-视图-控制器)架构模式受到开发者喜爱。在开发过程中,有时候我们需要集成富文本编辑器来方便用户...
Rails是Ruby编程语言的一个开源Web应用程序框架,遵循MVC(模型-视图-控制器)架构模式,以简洁和生产力为核心理念,强调“约定优于配置”,使得开发过程更为高效。Inspinia Admin Rails全版本正是在这样的背景下...
2. Rails的控制器和视图:Rails端可能有修改过的控制器,用于在响应中返回CSRF令牌,或者更新后的视图,用于在页面加载时将令牌传递给Angular。 3. 配置文件:可能包括Rails的`config/application.rb`或`config/...
Rails_3_Cheat_Sheets.pdf
InspiniaAdmin 2.5 Rails_full_version
rails_kindeditor将帮助您的rails应用程序与kindeditor集成,包括图像和文件上传。 安装及使用 将此添加到您的Gemfile gem 'jquery-rails' gem 'rails_kindeditor' 注意:Rails 5.1已从默认设置中删除了对jQuery...