Ruby on Rails 开发(一)- Rails Quickstart(上)

343 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第24天,点击查看活动详情

一、Rails Overview

Ruby on Rails,也称作 RoR 或者 Rails,是一个基于 Ruby 编写的开源网络应用框架。Ruby on Rails 是严格遵循 MVC 架构开发的,并努力保持自身简单,从而使得实际引用开发时的代码更少、使用更少的配置。

Ruby on Rails 的设计原则包括 Don't Repeat Yourself -> 不要重复自己Convention Over Configuration -> 约定大于配置

  • Rails 是一个更符合实际需要而且更高效的 Web 开发框架
  • Rails 结合了 PHP 体系的快速开发优点和 Java 体系程序规整的优点

Convention Over Configuration

为了说明各个对象之间的关联关系,一般 Web 开发框架往往会采用 XML 配置文件的方式来解决,但是这来增加了项目的可维护性。

Rails 则是 约定大于配置,意味着 Rails 中不会通过 XML 配置文件来描述各个对象之间的关联关系,Rails 内部的映射与发现机制根据这些约定可以实现对象之间的关联

二、Rails 与 MVC 框架

Rails 是一个全栈式的 MVC 框架,通过 Rails 可以实现 MVC 模式中的各个层次,而不用像 SSH 框架那样需要整合控制层视图层和模型层。

image.png

Rails 应用程序执行流程图大致可分为 4 个步骤:

  1. 用户通过浏览器输入一个 URL 地址向服务器端发起请求
  2. 控制器获取浏览器发送来的请求,通过对应的方法调用模型完成业务逻辑
  3. 控制器调用视图解析器解析模型数据
  4. 视图将模型数据解析成浏览器可以识别的数据,发送到浏览器

三、Rails 的核心组件

在通过 gem install rails 安装 Rails 时不仅会安装 Rails 还会安装其他许多组件,可以通过 gem list 来查看安装的组件。

Action Pack 是一个单独的gem安装包,包含了Action Controller、Action View 和 Action Dispatch,封装了 MVC 框架中的 VC。

组件名作用
Action ControllerAction Controller 是用于管理 Rails 应用程序中的控制器组件。Action Controller 处理浏览器端发送的请求,并分发给相应的 Action。 Action Controller 所提供的的服务包括会话管理、模板渲染和重定向的管理等
Action ViewAction View 管理着 Rails 应用程序中的所有视图,它可以同时创建默认情况下的 HTML 和 XML 输出。Action View 通常用来渲染模板,包括嵌套和局部以及内置的 Ajax 功能模板
Action DispatchAction Dispatch 处理 Web 请求的路由,并调度为用户期望的地址

Action Mailer 是用于开发电子邮件服务的框架,可以使用该框架接收并处理收到的电子邮件以及发送电子邮件等

Active Model 在 Action Packgem 服务与 ORM 之间定义了一个接口,例如 Active Record, Active Model 允许 Rails 利用其他 ORM 框架来代替 Active Record 在应用程序中的位置 Active Record 是 Rails 应用程序中模型的基础,它提供了数据库的独立性、基本的 CRUD 功能以及高级查询功能,并且能够建立模型之间的关联关系

Active Resources 提供了管理业务对象之间的连接和 RESTful 服务,它实现了映射网络资源的方式与本地对象 CRUD 的定义

Active Support 是提供了一组用于 Rails 的实用类以及 Ruby 标准库的扩展

Railties 是建立任何新 Rails 应用程序的核心代码,而且可以整合 Rails应用程序中的各个框架和插件

五、第一个 Rails 项目

Rails 框架可以通过命令行快速生成 Rails 项目,并且内置了服务器可以快速启动。

rails new rails-quickstart

image.png 创建项目时不仅会生成标准的 Rails 项目的目录结构,还会自动执行 git init 命令将项目初始化,使用 Git 管理 Rails 项目。

image.png 相关目录创建完成之后会自动执行 bundle install 命令,安装相关依赖,这一步骤会比较耗时。

项目创建完成并且相关依赖安装之后,进入到项目目录,执行 rails server 或者 rails s 都可以启动项目

cd rails-quickstart
rails server

image.png 项目默认启动在 3000 端口,浏览器输入 http://127.0.0.1:3000/ image.png 出现该欢迎页面,说明项目启动成功。