app
应用程序的大部分代码都将位于app目录中。在app目录下有四个子目录,分别是controllers,helpers,models,views ,rails是典型的mvc架构,代码分别对应到三个文件夹中。 components 在rails的过去,components目录是用于存放可以复用的视图代码和控制器代码的,但在新的rails中逐渐废弃了这个功能。
config
config文件夹中有一个database.yml文件,该文件用来配置ruby程序和数据库的连接
doc
doc目录是用来存放文档--rdoc自动生成的文档的。如果使用了rake doc:app命令,在doc/app目录下就会有html格式的文档。
lib
lib目录用来存放不属于模型,视图和控制器的应用程序代码。也就是说任何不直接属于模型,视图和控制器的代码都应该放在lib目录下。
log
在rails的运行过程中,会生成很多的日志信息,这些信息被保存在log目录下。在这里可以找到三个主要的日志文件。分别是development.log,test.log和production.log。这些日志文件不仅包含简单的日志跟踪信息,还包含时间统计信息,缓存信息和实际执行的数据语句。
public
web服务器把这个目录作为应用程序的根目录。大部分的部署配置工作会在这里进行。
script
scripts目录下存放了一些有用的工具程序,包括我们在创建rails程序时所用的命令
tmp
rails会将一些临时文件丢在tmp目录中。在该目录的子目录中,可以找到缓存的内容,session的数据以及socket数据等。
vendor
vendor目录用于存放第三方代码。rails将插件安装在vendor /plugins目录下
补充说明:(供参考)
运行Rails后生成项目的目录结构如下 :
app
存放针对项目的所有代码
app/controllers
存放驱动业务逻辑的控制器
app/helpers
存放视图辅助类,一些常用的代码段
app/models
存放数据描述结构、验证和完整性规则等模块
app/views
存放生成HTML的所有模板文件,也可以存放CSS、图片
config
存放与APACHE、数据库或者其它文件相依赖的配置文件
lib
存放应用程序运行过程中所需要的类库,这些类库不属于控制器、视图和辅助类,另外这个路径被自动加载
log
存放程序运行期间产生的日志,注意:development.log会记录Rails所有操作,以便开发者跟踪错误,并且server.log需要允许apache读写
public
apache能访问的目录,包含图片、JS和CSS
script
一些有用的脚本用来启动和生成代码
test
单元和功能测试
vendor
一些程序依赖的外部类库,和lib一样,也是自动加载的