XML形式的配置文件是Web开发中最常见的文件,如web.xml、applicationContext.xml、*.hbm.xml等等,这些文件在为应用程序提供强大的灵活性的同时也大大增加配置的复杂度。而Rails框架抛弃了这些配置文件,使用严格的约定,要求开发者将View、Controller、Model等各种类型文件放在自己专属的文件夹下,从而大大降低开发的复杂度,也即其Convention Over Configuration思想。
下图是一个典型的ROR应用程序结构:
下面介绍图中的主要目录:
app:该目录下存放了Rails应用程序的主要文件,其子目录有models、controllers、views和helper等几个,从名字上就可以看出它们分别存放应用程序中哪种类型的文件,helpers和views一样都是用来存放视图文件。Rails是一个典型的MVC框架,所以其子目录也是按照MVC框架的结构划分和命名,使用起来非常方便。
components:该目录下保存被应用程序中的model、controller和view使用的小组件。
config:这个目录用来存放Rails应用程序中为数不多的配置文件,主要有数据库配置(database.yml)、Rails环境结构(environment.rb)以及web请求的处理路由(routes.rb)。另外还可以在environment子目录中分别配置测试(test.rb)、开发(development.rb)和生产(production.rb)三种不同的环境。
db:该目录用来存放管理应用程序中的数据库的脚本文件。
doc:Rails应用程序的文档目录。Ruby有一个RubyDoc工具,可以根据代码中的注释自动生成文档。
lib:该目录存放应用程序的类库。如果类库是第三方类库,需要放在另外一个目录vendor下。
log:日志信息无论软件的开发、测试还是运行阶段都有着非常重要的作用。Rails应用程序的所有日志信息都被存放在该目录下,主要的日志信息有针对服务器的独立日志信息(server.log)以及针对三种不同的Rails环境的日志信息(test.log、development.log和production.log)。
public:该目录存放应用程序中的静态文件,如图片、JavaScript脚本、CSS样式表文件和静态的HTML文件,其中images、javascripts和styles三个子目录分别存放图片、.js和.css文件,静态的html文件,可以直接存放在public下。
script:这个目录存放了一些脚本文件,这些脚本文件用来管理或者启动Rails中各种类型的工具,例如生成代码、启动服务器等。
test:该目录存放Rails自动产生的或者自己创建的测试文件,其中fixtures、mocks、unit和functional分别对应不同类型的测试。
vendor:该目录存放第三方的类库,如数据库操作类库。
tmp:上图中没有出现该目录,在运行过程中可能会出现。该目录存放作为中间处理过程的临时文件。
由于Rails应用程序是按照惯例或者说约定来存放文件,从而简化开发的,所以我认为连了解这些目录的作用,总是比较好的。不过刚开始接触,还是有些目录的不是很清楚,等慢慢深入了,再回过来补充吧。
分享到:
相关推荐
在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on Rails 培训。学习英语这门世界语言是很重要的,但先通过母语学习往往会更有效果。正因为这样,当看到 ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
Ruby on Rails Web开发学习实录 内容简介: 在目前的主流web开发技术中,基于ruby语言的rails框架是做网站开发速度最快的工具。它可以达到j2ee框架开发速度的5~10倍,并且代码量也非常少。另外由于代码量的大幅度...
Ruby On Rails中文教材(PDF)
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
本书的目标是成为对“如果想学习使用 Ruby on Rails 进行 Web 开发,我应该从哪儿开始?”这一问题的最好答案。学习完本书的内容之后,你将具备使用 Rails 进行开发和部署 Web 程序的技能。同时你还能够通过一些进阶...
ruby on rails社区网站开发源码
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
使用 Ruby on Rails 和 Eclipse 开发 iPhone 应用程序教程(含图例)
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。本书使用 Rails 默认的开发工具栈开发了一个完整的社交应用(类似 Twitter)。读完本书后你将掌握如何使用...
Ruby on Rails中文指南
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
ruby on rails 教程源码,配合原书使用
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
ruby on Rails程序设计深入剖析与范例应用(pdf+视频+源码)
ruby on rails最新版 这是本人精心收集的重要软件
ROR安装的最版本的GEM,ruby on rails即ROR