资讯动态

The Odin Project 实战指南:安装 Ruby on Rails 并创建你的第一个 Rails 应用

发布时间:2026/9/16 18:28:28 来源:尧图企业网站定制
The Odin Project 实战指南安装 Ruby on Rails 并创建你的第一个 Rails 应用【免费下载链接】curriculumThe open curriculum for learning web development项目地址: https://gitcode.com/GitHub_Trending/cu/curriculum本指南是 The Odin Project 全栈课程 Ruby on Rails 部分的入门项目核心目标是带领你在本地环境完整走通「安装 Rails → 创建应用 → 生成数据模型 → 启动服务器 → 用 Git 推送到远程仓库」的全流程。读完本文你将拥有一个可以运行、可以增删改查数据的 Rails 应用并掌握 Rails 开发者每天都会用到的一组核心命令。前置条件确认 Ruby 与 Git 环境就绪在安装 Rails 之前需要确认两件事已经就绪Ruby 已经安装Rails 是 Ruby 的 gem代码包必须有可用的 Ruby 解释器。The Odin Project 使用rbenv来安装和管理 Ruby 版本完整步骤见仓库内的 Ruby 安装指南通过rbenv install 3.4.6安装指定版本、用rbenv global 3.4.6设为默认版本最后用ruby -v验证输出形如ruby 3.4.6pxx (...)。Git 已经配置项目最后一步要把代码推送到 GitHub需要先掌握基础的 Git 工作流git add/git commit/git push可回顾 Git 基础工作流 一课。如果以上条件都满足就可以开始进入正题。安装前的重要最佳实践原项目文档在动手前特别强调了几条纪律它们能帮你避开大多数新手踩坑点严格按照步骤操作不要跳过任何小节。每一步都有其存在的目的跳步往往导致后续命令无法运行。不要使用sudo除非项目文档明确要求。这是最容易出问题的一条终端有时会提示你用sudo或通过apt安装某些东西请忽略终端提示按本文档的步骤执行。擅自使用sudo安装 gem 可能破坏 Ruby 版本管理器的权限结构带来大量连锁问题。复制粘贴命令而不是手打避免拼写错误。如果中途暂停、稍后回来继续记得用cd回到项目目录内再执行命令否则命令会因为找不到上下文而失败。另外需要说明的是本项目不要求你理解每条命令的底层原理重点是验证所有工具都正确安装并协同工作。命令的作用会在课程后续章节逐一展开现在只需要让命令成功跑通即可。第一步安装 RailsRails 以 gem 的形式分发而 Ruby 自带gem命令所以安装只需要一行命令gem install rails安装完成后重启你的终端让环境变量与 PATH 生效然后验证版本rails -v如果终端输出了 Rails 的版本号说明安装成功。这条命令是后续所有操作的地基务必确认它正常工作。第二步创建你的第一个 Rails 应用用rails new生成项目骨架先cd到你存放项目的目录例如~/your_odin_project_directory然后运行cd ~/your_odin_project_directory rails new my_first_rails_apprails new会一次性完成大量工作创建项目目录、生成完整的目录骨架app、config、db等、解析 Gemfile 并安装依赖、初始化 Git 仓库甚至预置前端相关的 Stimulus 控制器与 importmap 配置。如果一切顺利终端输出末尾应该能看到类似这样的内容Bundle complete! 16 Gemfile dependencies, 76 gems now installed. Use bundle info [gemname] to see where a bundled gem is installed. Switch development cable to use redis gsub config/cable.yml Create controllers directory create app/javascript/controllers create app/javascript/controllers/index.js create app/javascript/controllers/application.js create app/javascript/controllers/hello_controller.js Import Stimulus controllers append app/javascript/application.js Pin Stimulus append config/importmap.rb看到Bundle complete!说明 gem 依赖安装完毕create/append/gsub等前缀是 Rails 文件生成器的常规输出表示它正在创建或修改对应文件。这些文件就是后面课程里 MVC 架构Model-View-Controller的载体。进入项目目录Rails 已经为我们创建了一个名为my_first_rails_app的新目录进入它cd my_first_rails_app第三步用 Scaffold 生成 Car 数据模型接下来用 Rails 的 scaffold 生成器一次性创建一套完整的资源——包括模型、数据库迁移、控制器和视图rails generate scaffold car make:string model:string year:integer这条命令的意思是生成名为car的资源包含make品牌字符串类型、model型号字符串类型和year年份整型三个字段。scaffold 会自动生成基于 RESTful 约定的 7 个标准控制器动作index / show / new / create / edit / update / destroy相关概念可参考课程中的 RESTful 路由 一课路由层根据 HTTP 动词GET / POST / PUT / DELETE与 URL 匹配到对应的控制器动作而 scaffold 正是这套约定的快速落地方式。生成 scaffold 之后需要把新模型同步到数据库执行迁移rails db:migrate这条命令会根据迁移文件在数据库中创建对应的表本例是cars表含make、model、year三个业务字段是 Rails 中「代码定义数据结构 → 写入数据库」的标准动作。第四步启动服务器并验证应用数据模型就绪后启动内置的 WEBrick / Puma 开发服务器rails server然后打开浏览器访问 http://localhost:3000/cars就能看到 scaffold 生成的汽车列表页面。虚拟机VM用户注意如果 Rails 跑在虚拟机里必须在虚拟机内部的浏览器中打开这个地址宿主机浏览器无法直接访问 VM 的 localhost。页面加载后通过页面上的表单创建一个新的 car例如品牌、型号、年份然后刷新页面确认它出现在列表中。可以多添加几辆车来充分验证「创建 → 持久化 → 展示」的完整链路。验证满意后回到运行服务器的终端按CtrlC关闭服务器。第五步用rails console --sandbox探索数据Rails 自带一个加载了项目代码的 IRB 交互式会话用于快速探索项目与测试想法rails console --sandbox--sandbox标志非常关键它会把所有数据库操作包裹在事务中退出会话时自动回滚任何改动都不会持久化——非常适合放心大胆地做实验。进入会话后尝试查询刚刚在网页上创建的汽车对象Car.all你会看到一列Car对象的集合与网页上创建的数据一一对应。这验证了「网页写入 → 数据库存储 → 控制台读取」这条数据通路是通的。实验结束后输入exit回到终端。第六步Git 版本控制与推送到 GitHub暂存并提交本地改动rails new在生成项目时已经自动初始化了 Git 仓库所以直接暂存并提交它生成的所有文件即可git add . git commit -m Initial commit在 GitHub 上创建仓库并添加远程在 GitHub 上新建一个仓库注意不要勾选初始化 README——因为 Rails 已经创建了一个 README。随后把本地仓库与 GitHub 仓库关联并推送git remote add origin SSH URL from GitHub git push -u origin main提醒命令中的SSH URL from GitHub是占位符不要输入尖括号替换为你在 GitHub 仓库页复制的 SSH 地址即可。-u参数会把origin/main设置为上游分支之后直接执行git push即可推送。确认推送成功回到 GitHub 网页刷新仓库页面确认能看到本地由 Rails 生成的所有文件夹和文件——最显眼的是以app开头的目录树。至此你的第一个 Rails 应用已经完整经历了「本地开发 → 数据库读写 → 版本控制 → 远程托管」全流程这也是你 Rails 学习之旅的正式起点。进阶为生产环境切换到 PostgreSQL默认情况下rails new使用 SQLite 作为数据库。SQLite 对学习和快速原型非常友好但通常不用于生产环境许多托管平台使用临时文件系统SQLite 数据库文件可能被删除。课程专门安排了 安装 PostgreSQL 一课来讲解环境、环境变量与生产级数据库的配置要点如下安装并配置 PostgreSQL按系统选择 Linux 安装指南 或 macOS 安装指南创建与系统用户名同名的数据库角色并把密码存入环境变量DATABASE_PASSWORD。安装 pg 驱动 gemgem install pg指定数据库生成应用rails new app_name --databasepostgresql配置config/database.yml在default段中补充用户名与密码密码通过ENV[DATABASE_PASSWORD]读取环境变量避免把敏感信息提交进 Gitdefault: default adapter: postgresql encoding: unicode pool: % ENV.fetch(RAILS_MAX_THREADS) { 5 } % username: role_name password: % ENV[DATABASE_PASSWORD] %创建数据库并启动验证rails db:create rails s打开localhost:3000看到 Rails 欢迎页即代表 PostgreSQL 接入成功。这也体现了 Rails「不同环境使用不同数据库」的灵活性开发环境越接近生产环境就越能提前暴露环境差异导致的问题。常见问题排查rails -v无输出或命令找不到确认gem install rails成功并重启终端让 PATH 生效。终端提示使用sudo或apt安装忽略提示按文档命令执行避免破坏权限结构。rails new中途失败检查 Ruby 版本是否匹配、网络是否可达gem 需要联网下载失败后重新执行rails new时可先确认目标目录未被部分生成。localhost:3000打不开确认rails server仍在运行且终端未报错使用虚拟机时改用 VM 内浏览器访问。推送 GitHub 失败检查远程地址是否为 SSH 格式形如gitgithub.com:USER/REPO.git并确认本地默认分支为main详见 Git 基础工作流 与 与远程仓库协作。总结本文走完了 The Odin Project 的 Rails 入门项目gem install rails安装框架 →rails new生成应用 →rails generate scaffold建立可增删改查的资源 →rails server启动并验证 →rails console --sandbox安全探索数据 →git push托管到 GitHub。这组命令构成了后续所有 Rails 开发工作的地基而rails new、db:migrate、scaffold、console这些高频命令会在后续的 MVC、ActiveRecord、表单与认证等课程中被反复使用。【免费下载链接】curriculumThe open curriculum for learning web development项目地址: https://gitcode.com/GitHub_Trending/cu/curriculum创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价