下面是一个Rails项目通常的目录结构
├─app
│ ├─controllers
│ ├─helpers
│ ├─models
│ └─views
│ ├─admin
│ ├─layouts
│ ├─login
│ ├─search
│ └─store
├─components
├─config
│ └─environments
├─coverage
├─db
│ └─migrate
├─doc
│ └─app
│ ├─classes
│ └─files
│ ├─app
│ │ ├─controllers
│ │ ├─helpers
│ │ └─models
│ └─doc
├─lib
│ └─tasks
├─log
├─nbproject
│ └─private
├─public
│ ├─images
│ ├─javascripts
│ └─stylesheets
├─script
│ ├─performance
│ └─process
├─test
│ ├─fixtures
│ │ └─performance
│ ├─functional
│ ├─integration
│ ├─mocks
│ │ ├─development
│ │ └─test
│ ├─performance
│ └─unit
│ └─performance
├─tmp
│ ├─cache
│ ├─pids
│ ├─sessions
│ └─sockets
└─vendor
└─plugins
下面来解释这些目录的含义
app:Model,View,Controller都在这个目录下,对应的有子目录,我们大部分的工作都在这里进行。
Components:可复用的组件都放在这里。
Config:数据库链接等的配置信息。
Coverage:这个不是Rails自己的目录,是我们在前面测试时安装的测试覆盖率工具的目录。
Db:存放DB结构(Schema)的信息。
Doc:存放文档,我们前面生成过一次depot项目的文档,都在这里面。
Lib:存放共享的代码。
Log:我们的项目的日志信息,里面有development.log,production.log,server.log,test.log,我们在开发时的信息都写在development.log里,而测试时的log都写在test.log里。
Nbproject:这个不是Rails的目录,是我们前面用NetBeans创建depot项目的时候生成的。
Public:可以从Web访问的目录,如果我们在浏览器的地址栏里直接输入:http://localhost:3003/那么看到的就是这里的index.html页面。另外,我们前面也把一些css文件放在了这里的stylesheet目录里。
Script:Rails用到的脚本,有一些我们可能已经用过了,比如:generate,process,performance。
Test:Model测试,功能测试,测试用的数据等等,我们前面在这个目录下已经写了很多代码了。
Server:运行WEBrick服务器,我们前面在depot项目里已经使用了。
Vendor:存放第三方的代码。
下面再主要说说Script目录下的脚本,主要的脚本有:
Benchmarker:对比多个方法的性能。
Breakpointer:断点,能够让你和Rails应用程序交互。
Console:让你能够使用irb命令和rails应用程序交互。
Destroy:移除generate生成的文件。
Generate:代码生成器,能够生成Controller,Mailer,Model,Web服务等。你还可以从Rails的网站上下载一些扩展的生成器模块。
Profiler:对你的程序进行性能测试,使用方面前面的随笔也已经介绍过了。
Runner:可以使我们代码中的方法脱离Web的上下文环境来运行。
分享到:
相关推荐
当使用rails new appname生成Rails应用后,我们可以通过tree来查看Rails应用的目录结构: 目录结构 应用程序目录下会有app、config、db、doc、lib、log、public、script、test、tmp和vendor等11个目录和config.ru、...
Rails项目创建后,Aptana会自动生成基础的目录结构,包括app、config、db、lib等关键文件夹。在app目录下,你可以找到views、controllers、models等子目录,它们分别对应视图、控制器和模型三个核心组件。 接下来,...
压缩包子文件的文件名称 "Ruby on Rails.pptx" 提示可能是一个关于Rails的PowerPoint演示文稿,其中可能涵盖了Rails的基础概念、安装步骤、主要组件介绍、开发流程、最佳实践,以及可能的示例代码和案例研究。...
- 更新数据库结构。 - 实现逻辑处理。 #### 十二、练习作业5-实作简单的Account后台机制 - **目标**: - 构建用户账户后台。 - **实现过程**: - 显示用户的Group列表。 - 显示用户的Post列表。 - 排序优化: ...
这会生成一个包含所有必要文件和目录结构的新Rails项目。接下来,你可以通过以下命令进入Rails的控制台,也称为Console: ```bash rails c 或者 rails console ``` 在控制台中,你可以直接操作应用的数据模型和...
- **结构**:新项目将包含默认的目录结构,如`app`、`config`、`db`等,分别用于存放应用程序代码、配置文件、数据库迁移脚本等。 #### 四、启动Rails服务器 - **命令**:在项目根目录下运行`rails server`即可...
描述中的 "ruby and rails 的框架rails-2.3.3.zip" 提到的是 Rails 的另一个版本 2.3.3,尽管与标题中的版本号不完全匹配,但我们可以推断这是关于 Rails 2.3.x 系列的讨论。这个压缩包很可能包含了 Rails 框架的源...
从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...
在Rails项目中,我们首先需要了解的是项目的目录结构。一个标准的Rails应用会包含以下关键部分: 1. **app**:应用程序的核心,包括模型(models)、视图(views)和控制器(controllers)。模型负责业务逻辑和数据...
该命令会自动初始化一系列的目录结构和基础文件,这些文件是Rails应用程序的骨架。 **知识点5:启动Mongrel服务器** 新创建的Rails应用程序需要一个服务器来托管,这时就可以启动Mongrel服务器。在Rails项目的根...
12. **Migrations**:Rails的迁移机制允许开发者通过Ruby代码来管理数据库结构的变化,使得数据库版本控制变得简单。 学习Rails指南中文版,开发者将全面了解Rails的各个方面,包括基础概念、核心组件、最佳实践...
标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...
在"Winkee_TreeView"这个文件名中,"TreeView"通常是指一种数据展示方式,可能在这里指代的是Rails中如何处理和展示层次结构数据,比如分类、目录或者层级关系的数据。这可能涉及到ActiveRecord的has_many :through...
本书《Component-Based Rails Applications》主要介绍了如何使用Rails引擎(Rails Engine)进行基于组件的Rails应用开发,以及如何对应用程序的大型模块进行拆分和模块化。以下是书中一些核心知识点的详细说明: 1....
10. **Scaffold**:Rails的scaffold生成器提供了一个快速创建CRUD(创建、读取、更新、删除)功能的基础结构。源代码展示了scaffold生成的文件结构,帮助理解其工作方式。 通过对Ruby on Rails的源代码进行深入研究...
在`sample_app`中,你可以看到如何组织代码以符合Rails的约定,如目录结构、控制器、模型和视图的创建。 2. **Gemfile和依赖管理**:在项目根目录下,`Gemfile`定义了项目所依赖的Ruby库(Gems)。通过`bundle ...
通过这种方式,我们可以利用Rails的初始化过程来管理和组织服务层,使其成为应用程序结构的一部分。服务对象不仅有助于提升代码的可维护性和测试性,还能使我们的应用更符合单一职责原则(SRP),降低组件之间的耦合...
1. **轻量级结构**:Rails API剥离了Web展示层的组件,如Action View和Asset Pipeline,从而减少了不必要的依赖和加载时间,提高了API服务的响应速度。 2. **更好的性能**:由于API通常处理的是JSON数据而非HTML,...
5. **理解Rails结构**:Rails项目的结构包括`app`、`bin`、`config`、`db`、`lib`、`log`、`public`、`test`和`vendor`等目录。每个目录都有特定的作用,例如`app`包含模型、控制器和视图等;`db`用于数据库相关的...
3. **路由(Routing)**:Rails的路由系统根据URL映射到特定的控制器和动作,定义了应用的导航结构。 4. **测试驱动开发(Test-Driven Development, TDD)**:Rails鼓励使用TDD,提供了Rspec和Capybara等强大的测试...