重返Ruby之路 Day13 --- Rails学习

175 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Rails 信条

  1. Optimize for programmer happiness
  2. Convention over Configuration
  3. The menu is omakase
  4. No one paradigm
  5. Exalt beautiful code
  6. Provide sharp knives
  7. Value integrated systems
  8. Progress over stability
  9. Push up a big tent

MVC模式

模型 - 视图 - 控制器 (MVC) 体系结构模式将应用程序分成 3 个主要组件组:模型、视图和控制器。 此模式有助于实现关注点分离。 使用此模式,用户请求被路由到控制器,后者负责使用模型来执行用户操作和/或检索查询结果。 控制器选择要显示给用户的视图,并为其提供所需的任何模型数据。

MVC 是一种软件应用程序架构的模式。它将应用程序分为以下组件:

  • 处理数据和业务逻辑的模型
  • 用于处理用户界面和应用程序的控制器
  • 用于处理图形用户界面对象和表示的视图

这种分离导致用户请求按如下方式处理:

  • 浏览器(在客户端)向服务器上的控制器发送一个页面请求。
  • 控制器从模型中检索它需要的数据以响应请求。
  • 控制器将检索到的数据提供给视图。
  • 视图被渲染并发送回客户端以供浏览器显示。

这种责任划分有助于根据复杂性缩放应用程序,因为这更易于编码、调试和测试包含单一作业的某个组成部分(模型、视图或控制器)。 但这会加大更新、测试和调试代码的难度,该代码在这 3 个领域的两个或多个领域间存在依赖关系。 例如,用户界面逻辑的变更频率往往高于业务逻辑。 如果将表示代码和业务逻辑组合在单个对象中,则每次更改用户界面时都必须修改包含业务逻辑的对象。 这常常会引发错误,并且需要在每次进行细微的用户界面更改后重新测试业务逻辑。

自定义 Rails 初始化项目

创建使用 mysql 数据库的 Rails 项目

rails new hello_web_app --database=mysql

创建使用 Postgress 数据库的 Rails 项目

rails new rails_pg_toy_app -d postgresql

创建使用 Postgress 数据库的 Rails 项目,并使用 esbuild 打包 js,css 默认使用 bootstrap

rails new rails_pg_toy_app -d postgresql  -j esbuild --css bootstrap

创建使用指定 Rails 版本的 Rails 项目

rails _5.2.6_ new hello_web_app --database=mysql