跳转到内容

Rails

Rails(又称Ruby on RailsRoR)是一个使用Ruby语言编写的开源Web框架,遵循MVC架构模式。它由David Heinemeier Hansson于2004年首次发布,以其"约定优于配置"(Convention over Configuration)和"不要重复自己"(DRY, Don't Repeat Yourself)的设计理念而闻名。

概述[编辑 | 编辑源代码]

Rails旨在提高开发者的生产力,通过提供默认的项目结构和丰富的内置功能,使开发者能够快速构建数据库驱动的Web应用程序。它包含以下主要组件:

  • Active Record:对象关系映射(ORM)系统
  • Action Controller:处理HTTP请求的控制器层
  • Action View:模板引擎
  • Active Support:Ruby扩展工具集

主要特性[编辑 | 编辑源代码]

约定优于配置[编辑 | 编辑源代码]

Rails采用一系列约定来减少开发者需要做出的配置决策。例如:

  • 模型类名对应数据库表名(如User模型自动对应users表)
  • 控制器命名与路由自动关联

脚手架生成器[编辑 | 编辑源代码]

Rails提供命令行工具快速生成应用程序骨架:

rails generate scaffold Post title:string body:text

这会自动创建模型、视图、控制器和数据库迁移文件。

数据库迁移[编辑 | 编辑源代码]

Rails使用迁移系统管理数据库模式变更:

class CreateProducts < ActiveRecord::Migration[6.1]
  def change
    create_table :products do |t|
      t.string :name
      t.text :description
      t.timestamps
    end
  end
end

安装与使用[编辑 | 编辑源代码]

系统要求[编辑 | 编辑源代码]

  • Ruby 2.7.0或更高版本
  • SQLite3/MySQL/PostgreSQL数据库
  • Node.js(用于资产管道)

基本安装[编辑 | 编辑源代码]

1. 安装Ruby 2. 安装Rails gem:

gem install rails

3. 创建新项目:

rails new myapp

架构[编辑 | 编辑源代码]

graph TD A[浏览器] -->|请求| B[路由 Router] B -->|路由到| C[控制器 Controller] C -->|调用| D[模型 Model] D -->|数据库操作| E[数据库 Database] C -->|渲染| F[视图 View] F -->|响应| A

实际应用案例[编辑 | 编辑源代码]

许多知名网站使用Rails构建,包括:

  • GitHub(早期版本)
  • Shopify
  • Airbnb
  • Basecamp

学习资源[编辑 | 编辑源代码]

  • Rails官方指南
  • 《Agile Web Development with Rails》书籍
  • 《The Rails Way》深入指南

参见[编辑 | 编辑源代码]