Rails项目结构详解
为什么80%的码农都做不了架构师?>>>
应用程序根目录
Gemfile
:应用程序的依赖关系配置(gem)。修改后通过bundle install
应用。
README.rdoc
:应用程序说明,建议包括所用的Ruby版本,依赖关系,必要的配置,如何创建数据库,如何初始化数据库,如何运行测试套件,需要配置的服务(工作队列、缓存服务器、搜索引擎等),如何部署,等等。
config/
- 配置文件
config/application.rb
和config/environment.rb
:定制Rails(覆盖默认惯例),不常用。
config/database.yml
:数据库配置。
config/routes.rb
:URL路由配置。
config/environments/
- 应用程序环境配置
config/environments/development.rb
:开发环境配置。
config/environments/test.rb
:测试环境配置。
config/environments/production.rb
:生产环境配置。
config/initializers/
- 设置应用程序初始值
config/initializers/i18n.rb
:国际化支持设置,包括默认区域(locale)设置,所支持的语言。
config/locales/
- 区域设置
config/locales/en.yml
:区域en
的设置,包括语言(提示信息、模型名称)、货币。
db/
- 数据库文件
db/schema.rb
:自动生成的数据库结构,包括有哪些数据表、数据表有哪些字段、字段的类型和默认值等。
db/seeds.rb
:自定义的种子数据,通过rake db:seed
导入数据库。
db/development.sqlite3
:开发用SQLite3数据库。
db/test.sqlite3
:测试用SQLite3数据库。
db/migrate/
:数据迁移(migration)文件,通过rake db:migrate
应用,通过rake db:rollback
回滚。应用和回滚针对的都是最新的数据迁移(最后创建的)。
app/
- 应用程序主目录
app/models/
:模型文件(model)。
app/views/
:视图文件(view)。
app/controllers/
:控制器文件(controller)。
app/helpers/
:视图和控制器的帮助方法文件(helper)。
app/assets/
:静态资源文件。包括CSS(app/assets/stylesheets/
)、JavaScript(app/assets/javascripts/
)和图片(app/assets/images/
)。
test/
- 测试文件
test/test_helper.rb
:测试的帮助方法(helper)。
test/models/
:模型的单元测试文件。例如test/models/product_test.rb
。
test/controllers/
:控制器的功能测试文件。例如test/controllers/products_controller_test.rb
。
test/integration/
:使用流程的集成测试文件。例如test/integration/user_stories_test.rb
。
test/fixtures/
:测试夹具文件(fixture)。例如test/fixtures/products.yml
。
test/helpers/
:测试帮助方法的测试文件。例如test/helpers/products_helper_test.rb
lib/
- 库文件
不适合放在模型、视图、控制器中的程序代码,常用的公共功能等。可以建立子目录,并把功能相关的代码文件可以放在同一个子目录下。
lib/tasks/
:自定义Rake任务文件。定义后可以用rake db:task_name
执行
vendor/
- 第三方库文件
安装的插件就放在这里。
public/
- 静态文件
包括robots.txt
、favicon.ico
、404.html
和500.html
等。
log/
- 日志文件
log/development.log
:开发环境日志文件。
log/test.log
:测试环境日志文件。
bin/
- 可执行文件
常用命令rails
、rake
、bundle
的可执行文件都在这里。
doc/
- 文档
doc/api/index.html
:Rails参考文档(API reference),通过rake doc:rails
生成。
doc/app/index.html
:应用程序文档(源代码索引),通过rake doc:app
生成。
tmp/
- 临时文件
包括应用程序运行过程中生成的pid、socket、session和缓存文件。
转载于:https://my.oschina.net/yjwxh/blog/383045
Rails项目结构详解相关推荐
- rails 代码结构详解
目录结构 这一节让我们走访一个 Rails的目录结构: app/ app 目录是你主要工作的地方,不同子目录存储了 Models.Controllers.Views.Helpers和 Assets 等 ...
- angular 标准目录结构_Angular-cli新建项目目录结构详解
Angular-cli新建项目目录结构详解 在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文 ...
- 微信小程序01【目录结构详解、视图与渲染、事件、input、scroll-view】
学习地址:https://www.bilibili.com/video/BV1sx411z77P 笔记01:https://blog.csdn.net/weixin_44949135/article/ ...
- HubbleDotNet开源全文搜索数据库项目--技术详解
HubbleDotNet开源全文搜索数据库项目--技术详解 HubbleDotNet 简介 HubbleDotNet 和 Lucene.net 性能对比测试 HubbleDotNet 和 Lucene ...
- Linux TC 流量控制与排队规则 qdisc 树型结构详解(以HTB和RED为例)
1. 背景 Linux 操作系统中的流量控制器 TC (Traffic Control) 用于Linux内核的流量控制,它规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控 ...
- Python基础------几种循环结构详解
Python基础------几种循环结构详解 在所有的编程语言中,循环结构是必不可少了,Python也一样.在python主要有一下几种循环结构:for-in-.while.range()三种最为常见 ...
- 【Vue】Vue-cli(脚手架)的目录结构详解(转载)
一.图简单说明下各个目录都是干嘛的: 总体框架:一个vue-cli的项目结构如下,其中src文件夹是需要掌握的,所以本文也重点讲解其中的文件,至于其他相关文件,了解一下即可. 四.文件结构细分 1.b ...
- 数据结构图,图存储结构详解
1. 数据结构的图存储结构 我们知道,数据之间的关系有 3 种,分别是 "一对一"."一对多" 和 "多对多",前两种关系的数据可分别用线性 ...
- Django框架学习(一)Django框架安装和项目创建详解
Django框架学习(一)Django框架安装和项目创建详解 文章目录 Django框架学习(一)Django框架安装和项目创建详解 一.简介 1.1介绍 1.2 URL 1.3.框架原理 二.安装 ...
最新文章
- 判断身份证号是否合法
- POJ1719行列匹配
- Spring 框架所有版本大集合下载
- 【小程序开发者专享】腾讯云联手多家科技企业,聚焦小程序·云开发实践!...
- php return 变量,php内核笔记–函数返回变量return_value
- 大数据可视化的优点有哪些
- (个人)Linux基本指令收集
- 从省市级到区县级,Power BI topoJSON 中国行政区划地图都在这了
- Java+MySQL 基于ssm的宠物商店领养管理系统#毕业设计
- 计算机课程表怎么制作,制作我的课程表(教案)
- 读取图片信息并存储数据为CSV文件
- django 模型choice基本讲解
- 【转】Java方向如何准备BAT技术面试答案(汇总版)
- 主持人大赛计算机专业,计算机系主持人大赛简报
- java计算机毕业设计培训机构运营系统源码+程序+lw文档+mysql数据库
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
- Java JMF的使用
- 不小心清空了回收站怎么办?回收站清空了怎么恢复
- 2022年全球人工智能产业态势分析
- QQ2006Beta1发布3D秀+新聊天窗口赚眼球(转)
热门文章
- JVM启动的时候,默认加入的属性
- hdu1686 最大匹配次数 KMP
- 【数字信号处理】线性常系数差分方程 ( 线性常系数差分方程 与 边界条件 总结 ) ★★★
- 【C 语言】字符串模型 ( 字符串翻转模型 )
- 【计算理论】可判定性 ( 可判定性总结 )
- 【数据挖掘】贝叶斯公式应用 拼写纠正示例分析 ( 先验概率 | 似然概率 | 后验概率 )
- 【Android应用开发】Android Studio 错误集锦 -- 将所有的 AS 错误集合到本文
- Mac启动时:boot task failed:fsck-safe处理办法
- Variational Inference
- 求不同字母全排列两种递归模板