type
status
date
slug
summary
tags
category
icon
password

1. MVC

Rails 采用 MVC 架构
notion image
  1. 瀏覽器發出HTTP request請求給Rails
  1. 路由(Routing)根據規則決定派往哪一個ControllerAction
  1. 負責處理的Controller Action操作Model資料
  1. Model存取資料庫或資料處理
  1. Controller Action將得到的資料餵給View樣板
  1. 回傳最後的HTML成品給瀏覽器

2. 创建 API 服务

以 PostgreSQL 为数据库,创建一个API服务。

3. 使用 Docker 创建数据库

在 PostgreSQL 中,PGDATA 是一个环境变量,用于指定数据库引擎存储数据的目录路径。在这个命令中,将 PGDATA 设置为 /var/lib/postgresql/data/pgdata,这意味着 PostgreSQL 容器将使用容器内的 /var/lib/postgresql/data/pgdata 目录作为数据存储目录。
持久化的数据(rb-data)在 docker 的 Volumes 中可以看到:
notion image

4. 配置 config/database.yml

生产环境的password和host从环境变量中读取,环境变量一般保存在.bashrc中。

5. 启动服务

运行服务器后,可以启动 Rails 服务了。

6. 创建路由

6.1 设计路由

在config/routes.rb中设计路由,例如:/api/v1/
  • index:GET 检索所有资源
  • show:GET 检索某一个
  • create:POST 创建新资源
  • update:PATCH 更新资源
  • destroy:DELETE 删除资源

6.2 生成路由

然后,根据config/routes.rb生成路由:

7. 数据库操作

7.1 创建数据库

7.2 迁移数据库

7.3 回滚数据库

8. 数据库模型

8.1 创建数据表

每个模型代表一张表,下面迁移后会产生 users 表。
更多的字段可以在迁移文件中添加或修改,完成后运行 rails db:migrate 完成迁移。

8.2 迁移文件中的常用操作

  1. 创建表
  1. 其他操作记录在此
以上操作可写在迁移文件的 change、up、down方法下。

8.3 执行迁移命令

编写完成后,需要执行迁移命令,更新数据库。
注意:如果迁移完成后想对现存字段做修改,需要重新生成一个迁移文件。

9. 控制器

利用用户的请求方法+路由,进入到对应的控制器中。

9.1 创建控制器

9.2 编写控制器

10. 密钥管理

10.1 编辑密钥

在打开的文档中编辑密钥。

10.2 查看密钥

  1. 打开控制台
  1. 查看密钥配置

11. 删除记录

11.1 使用控制台删除

11.2 使用 Postgres 命令

12. VSCode SQL插件推荐

SQLTools + SQLTools PostgreSQL/Cockroach Driver
notion image
 
Rails 7 开发总结(下)Docker 常用命令一览表
Eric 见嘉
Eric 见嘉
Less is more.
公告
type
status
date
slug
summary
tags
category
icon
password
💭
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。

关于我
土木转行的前端开发工程师,陆续分享技术干货。
联系我
微信公众号:见嘉 Being Dev