📜  Ruby on Rails 2.1教程(1)

📅  最后修改于: 2023-12-03 15:04:56.769000             🧑  作者: Mango

Ruby on Rails 2.1 教程

本教程将介绍如何使用 Ruby on Rails 2.1 框架构建 Web 应用程序。Ruby on Rails 是一个高效、易学、易用的 Web 应用程序框架,它使开发人员能够快速构建出高质量的 Web 应用程序。本教程将涵盖以下内容:

  • Ruby on Rails 的基本概念和架构
  • 创建一个新的 Rails 应用程序
  • Rails 中的 MVC 架构模式
  • 模板、控制器和模型的创建和使用
  • 执行 Rails 中的数据库迁移
  • 添加新功能和页面到 Rails 应用程序
  • 调试 Rails 应用程序
Ruby on Rails 2.1 框架架构

Ruby on Rails 2.1 是一个基于 MVC(模型-视图-控制器)架构的框架。它使用 Ruby 语言编写,并使用了一些优秀的 Ruby Gems(Ruby 包管理器)。

MVC 架构模式

MVC 是一种 Web 开发架构模式,它将 Web 应用程序分为三个主要部分:

  • 模型:管理应用程序数据和业务逻辑
  • 视图:处理与用户交互的 UI(用户界面)元素
  • 控制器:处理与用户交互的逻辑和数据
Rails 2.1 中的 MVC 架构

在 Rails 应用程序中,模型、视图和控制器有各自的文件夹和控制器。

  • 模型文件都在 app/models 路径下;
  • 视图文件都在 app/views 路径下;
  • 控制器文件都在 app/controllers 路径下。
Rails 2.1 中的 Gem

Rails 2.1 中使用了一些优秀的 Ruby Gems,这些 Gems 使开发人员能够更加轻松地扩展应用程序的功能,并管理应用程序的依赖关系。其中最常用的 Gems 包括:

  • ActiveRecord:一个 ORM(对象关系映射器)框架,用于管理应用程序数据和数据库通信;
  • ActionPack:一个 Web 应用程序框架,使用了 MVC 设计模式,并包括了一个强大的路由引擎和一些不同类型的控制器;
  • ActiveSupport:一个 Ruby 基础类的管理器,包括一些非常有用的类和方法,如时间和日期计算,字符串处理等。
创建一个新的 Rails 应用程序

创建 Rails 应用程序的最简单方式是通过终端执行以下命令:

rails new myapp

这将在当前目录下创建一个名为 myapp 的新 Rails 应用程序。

Rails 中的 MVC

如前所述,Rails 是一个基于 MVC 模式的 Web 应用程序框架。在 Rails 中,控制器和模型都是类(类名按照约定应该是 CamelCase 格式),而视图是一个模板(模板名按照惯例是 snake_case 格式),它们都存储在 app/controllersapp/modelsapp/views 文件夹中。

在 Rails 中,控制器用于处理用户请求和响应,模型用于管理应用程序数据和提供业务逻辑,视图则用于处理与用户交互的 UI 元素。

创建一个控制器

要创建一个新控制器,可以使用以下命令:

rails generate controller MyController action1 action2

这将在 app/controllers 目录下创建一个名为 my_controller.rb 的新控制器,并在其中创建两个新动作:action1action2。同时,在 app/views/my 目录下也会创建两个新视图:action1.html.erbaction2.html.erb

创建一个模型

要创建一个新模型,可以使用以下命令:

rails generate model MyModel

这将在 app/models 目录下创建一个名为 my_model.rb 的新模型,并在其中创建一个 ActiveRecord 类。此外,它还会在数据库中创建一个名为 my_models 的新数据表,用于存储 MyModel 的实例。

数据库迁移

当需要向数据库中添加、更改或删除模型时,需要使用数据库迁移。Rails 中使用 ActiveRecord 来管理数据库迁移。例如,要创建一个名为 CreateMyModels 的新数据库迁移,可以使用以下命令:

rails generate migration CreateMyModels

这将在 db/migrate 目录下创建一个名为 create_my_models.rb 的迁移文件。

在这个文件中,需要定义以下两个方法:updownup 方法用于指定如何将数据库从迁移之前的状态更新到迁移之后的状态;down 方法用于指定如何将数据库从迁移之后的状态回滚至迁移之前的状态。

例如,以下代码创建了一个 create_my_models 数据库迁移,其中 up 方法在数据库中创建了一个名为 my_models 的新表,包含 nameage 两个字段:

class CreateMyModels < ActiveRecord::Migration[5.2]
  def up
    create_table :my_models do |t|
      t.string :name
      t.integer :age
    end
  end

  def down
    drop_table :my_models
  end
end
往控制器添加动作和视图

在 Rails 应用程序中,控制器和视图紧密协作,用于处理用户请求和响应。下面是一个简单的示例,演示了如何创建一个控制器动作,并将其视图渲染到用户的浏览器中:

class MyController < ApplicationController
  def action1
    @message = 'Hello, world!'
    render :action1
  end
end

在这个示例中,当用户向 MyControlleraction1 动作发送 GET 请求时,控制器将设置一个实例变量 @message,然后使用 render 方法将 app/views/my/action1.html.erb 视图渲染到用户的浏览器中。

视图中可以使用 ERB(嵌入式 Ruby)语法,使用 Ruby 代码来构建 HTML 页面。

<!DOCTYPE html>
<html>
<head>
  <title>My Rails App</title>
</head>
<body>
  <h1><%= @message %></h1>
</body>
</html>
总结

本教程介绍了如何使用 Ruby on Rails 2.1 框架构建 Web 应用程序。在本文中,我们学习了 Rails 的基本概念和架构,创建了一个新的 Rails 应用程序,并介绍了 Rails 中的 MVC 架构模式、数据库迁移和控制器、视图的创建和使用。这是一个入门级 Ruby on Rails 教程,希望对初学者有所帮助。可以在 官方文档网站 中找到更多的资源和工具。