I apologize for the confusion. It appears I do not have a write_file tool available in this environment. I will provide the article content directly in my response.
Ruby on Rails 教程:快速开始你的第一个 RoR 项目
Ruby on Rails(通常称为 Rails)是一个由 Ruby 语言编写的服务器端 Web 应用程序框架。它以其“约定优于配置”(Convention Over Configuration)的理念、快速开发能力和强大的生态系统而闻名。本教程将引导你完成创建第一个 Rails 项目的快速启动过程。
1. 准备环境
在开始之前,你需要确保你的系统上安装了 Ruby 和 Rails。
1.1. 安装 Ruby
Rails 依赖于 Ruby。推荐使用版本管理器(如 rbenv 或 RVM)来安装和管理 Ruby 版本,这能避免潜在的系统冲突。
-
macOS/Linux (推荐 rbenv):
bash
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'eval "$(~/.rbenv/bin/rbenv init - bash)"' >> ~/.bash_profile # 或者 ~/.zshrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 3.2.2 # 安装一个稳定版本,例如 3.2.2
rbenv global 3.2.2
ruby -v # 验证安装 -
Windows:
推荐使用 RubyInstaller for Windows,选择带 DevKit 的版本,它包含了编译本地 gem 所需的工具链。
1.2. 安装 Bundler
Bundler 是 Ruby 的依赖管理工具,用于确保你的应用程序在不同环境中拥有相同的 gem(库)版本。
bash
gem install bundler
1.3. 安装 Rails
一旦 Ruby 和 Bundler 就绪,你就可以安装 Rails 了。建议安装最新稳定版。
bash
gem install rails
安装完成后,验证 Rails 版本:
bash
rails -v
2. 创建第一个 Rails 项目
现在,让我们创建一个新的 Rails 应用程序。
bash
rails new my_first_app
这个命令会:
* 创建一个名为 my_first_app 的新目录。
* 在该目录中生成一个完整的 Rails 应用程序骨架。
* 运行 bundle install 来安装所有必要的 gem。
创建完成后,进入项目目录:
bash
cd my_first_app
3. 启动 Rails 服务器
Rails 内置了一个开发服务器(Puma),可以让你在本地运行应用程序。
“`bash
rails server
或者简写为 rails s
“`
在你的浏览器中访问 http://localhost:3000。如果一切正常,你将看到 Rails 的欢迎页面:“Yay! You’re on Rails!”。
4. 生成控制器和视图
Rails 采用 MVC(Model-View-Controller)架构模式。让我们创建一个简单的页面。
4.1. 生成控制器
我们将创建一个名为 Pages 的控制器,并为其添加一个 home 动作。
“`bash
rails generate controller Pages home
或者简写为 rails g controller Pages home
“`
这个命令会:
* 创建 app/controllers/pages_controller.rb 文件。
* 在 pages_controller.rb 中添加一个 home 方法。
* 创建 app/views/pages/home.html.erb 文件(这是 home 动作的视图)。
* 更新 config/routes.rb 文件,添加一个路由规则。
4.2. 编辑视图
打开 app/views/pages/home.html.erb 文件,并替换其内容:
“`html+erb
欢迎来到我的第一个 Rails 应用!
这是一个快速入门的教程。
“`
4.3. 设置根路由
我们需要告诉 Rails,当用户访问应用的根路径 (/) 时,显示 Pages 控制器的 home 动作。
打开 config/routes.rb 文件,找到这一行:
get 'pages/home'
将其修改为:
ruby
root 'pages#home'
现在,保存文件并刷新浏览器中的 http://localhost:3000。你将看到你刚刚创建的欢迎页面。
5. 使用数据库和模型
Rails 的另一个强大功能是 ActiveRecord,一个对象关系映射(ORM)工具,它让数据库操作变得非常简单。让我们创建一个简单的“文章”模型。
5.1. 生成模型
我们将生成一个 Article 模型,它有两个属性:title(字符串)和 content(文本)。
“`bash
rails generate model Article title:string content:text
或者简写为 rails g model Article title:string content:text
“`
这个命令会:
* 创建 app/models/article.rb 文件(模型)。
* 创建数据库迁移文件,例如 db/migrate/XXXXXXXXXXXXXX_create_articles.rb。
5.2. 运行数据库迁移
迁移文件描述了如何修改数据库结构。我们需要运行它来创建 articles 表。
bash
rails db:migrate
5.3. 简单交互(Rails 控制台)
你可以使用 Rails 控制台来与你的应用程序进行交互,包括创建、读取、更新和删除(CRUD)数据。
“`bash
rails console
或者简写为 rails c
“`
在控制台中尝试以下操作:
“`ruby
创建一篇文章
Article.create(title: “我的第一篇文章”, content: “这是我使用 Rails 创建的第一篇文章内容。”)
查询所有文章
Article.all
查找特定文章
Article.find_by(title: “我的第一篇文章”)
更新文章
article = Article.first
article.update(content: “更新后的文章内容。”)
删除文章
article.destroy
“`
输入 exit 退出控制台。
6. 创建文章的 CRUD 界面
为了让用户也能与文章交互,我们将使用 Rails 的脚手架(Scaffold)功能,它能快速生成一个完整的 CRUD 界面。
bash
rails generate scaffold Article title:string content:text
这个命令会生成:
* Article 模型的控制器 (articles_controller.rb)。
* 各种视图文件(index.html.erb, show.html.erb, new.html.erb, edit.html.erb)。
* 部分视图。
* 路由规则。
* JavaScript 和 CSS 文件。
再次运行数据库迁移,因为脚手架可能会添加一些索引或其他数据库修改(尽管在这里可能不是必须的,但养成习惯是好的)。
bash
rails db:migrate
现在,将 config/routes.rb 文件中的 root 路由修改为 articles#index,以便根路径直接显示文章列表:
ruby
Rails.application.routes.draw do
resources :articles # 这一行是由 scaffold 生成的,它会创建所有 CRUD 路由
root 'articles#index' # 将根路由指向文章列表页
# get 'pages/home' # 可以删除或注释掉这一行
end
保存文件,并在浏览器中访问 http://localhost:3000。你现在应该能看到一个文章列表界面,可以创建新文章、查看、编辑和删除文章。
7. 下一步
恭喜你!你已经成功地创建了你的第一个 Ruby on Rails 应用程序,并学会了:
- 设置 Rails 开发环境。
- 创建新的 Rails 项目。
- 启动 Rails 服务器。
- 创建控制器和视图。
- 设置根路由。
- 使用 ActiveRecord 模型和数据库迁移。
- 通过脚手架快速生成 CRUD 界面。
这只是 Rails 世界的冰山一角。接下来,你可以探索以下主题:
- 深入理解 MVC: 学习控制器、模型和视图如何协同工作。
- 路由: 掌握更复杂的路由配置。
- 表单和参数: 处理用户输入。
- 验证: 确保数据的完整性。
- 测试: 编写自动化测试来保证代码质量。
- 部署: 将你的应用程序发布到生产环境。
通过不断实践和学习,你将能使用 Ruby on Rails 构建出强大而高效的 Web 应用程序。