Gemfile 设定Rails应用程序会使用哪些Gems。
README 应用程序使用手冊。从中可以知道应用是做什么用的,如何使用等等。
Rakefile 用来载入可以被命令列执行的一些任务。
config.ru 用来启动应用程序的Rack设定档。
app/ 该目录下存放了Rails应用程序的主要文件,其子目录有models、controllers、views和helper等几个。从名字上就可以看出它们分别存放应用程序中哪种类型的文件,helpers和views一样都是用来存放视图文件。Rails是一个典型的MVC框架,所以其子目录也是按照MVC框架的结构划分和命名,使用起来非常方便。
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分别对应不同类型的测试。
tmp/ 该目录存放作为中间处理过程的临时文件。
vendor/ 该目录存放第三方的类库,如数据库操作类库。