如何開始使用 Ruby on Rails 進行應用開發 – wiki词典

I apologize for the error. I do not have a write_file tool available to create a file directly. I will output the article content here for you:

如何開始使用 Ruby on Rails 進行應用開發

Ruby on Rails(通常簡稱為 Rails)是一個功能強大且高度優雅的網頁應用程式開發框架。它基於 Ruby 程式語言,並遵循「慣例優於配置」(Convention Over Configuration)和「不要重複自己」(Don’t Repeat Yourself, DRY)的原則,旨在提高開發效率。如果您正在尋找一個能夠快速構建高品質網頁應用程式的工具,Rails 絕對是一個值得考慮的選擇。

本指南將帶您逐步了解如何開始使用 Ruby on Rails 進行應用開發。

1. 環境準備 (Prerequisites)

在開始之前,您需要確保您的開發環境已安裝以下組件:

  • Ruby: Rails 是基於 Ruby 語言的,所以這是必不可少的。建議使用 Ruby 版本管理器 (如 RVM, rbenv) 來管理多個 Ruby 版本。
  • RubyGems: Ruby 的套件管理系統,通常會隨 Ruby 一起安裝。
  • Bundler: 用於管理專案所需的 gem(Ruby 函式庫)。
  • Node.js & Yarn: 用於處理前端資源(例如 JavaScript 和 CSS 壓縮)。
  • 資料庫: Rails 預設使用 SQLite,但您也可以選擇 PostgreSQL 或 MySQL。

2. 安裝 Ruby

對於不同的作業系統,安裝 Ruby 的方法略有不同:

macOS

建議使用 rbenvRVM。這裡以 rbenv 為例:

  1. 安裝 Homebrew (如果尚未安裝):
    bash
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 安裝 rbenvruby-build
    bash
    brew install rbenv ruby-build
  3. rbenv 加入您的 shell 環境:
    bash
    echo 'eval "$(rbenv init -)"' >> ~/.zshrc # 或 ~/.bash_profile
    source ~/.zshrc # 或 ~/.bash_profile
  4. 安裝 Ruby 版本 (建議安裝最新穩定版,例如 3.x.x):
    bash
    rbenv install 3.x.x # 將 3.x.x 替換為實際版本號
    rbenv global 3.x.x
    ruby -v # 確認 Ruby 版本

Windows

建議使用 RubyInstaller for Windows,它包含了 Ruby 和開發工具包 (DevKit)。下載並執行安裝程式,確保勾選「Add Ruby executables to your PATH」選項。

Linux

同樣建議使用 rbenvRVM。安裝步驟類似 macOS。

3. 安裝 Rails

一旦 Ruby 安裝完成,您就可以使用 RubyGems 來安裝 Rails 了。

  1. 安裝 Bundler:
    bash
    gem install bundler
  2. 安裝 Rails:
    bash
    gem install rails
  3. 確認 Rails 版本:
    bash
    rails -v

    這將顯示您當前安裝的 Rails 版本。

4. 創建第一個 Rails 應用程式

現在,您已經準備好創建您的第一個 Rails 應用程式了!

  1. 創建新的 Rails 專案:
    bash
    rails new my_first_app -d postgresql # 或 -d mysql,如果不是用 SQLite
    cd my_first_app

    • rails new 命令會生成一個全新的 Rails 應用程式。
    • my_first_app 是您的應用程式名稱。
    • -d postgresql 指定使用 PostgreSQL 作為資料庫(如果省略,則預設為 SQLite)。
  2. 設置資料庫:
    對於 PostgreSQL 或 MySQL,您需要編輯 config/database.yml 文件來配置資料庫連接資訊 (用戶名、密碼等)。
    然後創建資料庫:
    bash
    rails db:create

5. 了解 Rails 專案結構

一個典型的 Rails 專案包含以下重要目錄:

  • app/: 這是您應用程式的核心程式碼所在,包含模型 (models)、視圖 (views) 和控制器 (controllers)。
    • app/models: 資料庫的物件表示。
    • app/views: 處理使用者介面。
    • app/controllers: 處理使用者請求。
    • app/assets: 包含 JavaScript、CSS 和圖片等前端資源。
  • bin/: 包含 Rails 可執行腳本。
  • config/: 應用程式的配置文件,如路由 (routes.rb)、資料庫連接 (database.yml) 等。
  • db/: 包含資料庫遷移文件 (migrations) 和資料庫 schema。
  • lib/: 放置自定義模組和通用工具程式碼。
  • public/: 存放靜態文件,如 index.htmlfavicon.ico
  • test/: 存放測試程式碼。
  • vendor/: 存放第三方程式碼。

6. MVC 架構簡介

Rails 嚴格遵循 Model-View-Controller (MVC) 設計模式,這有助於組織程式碼並使其易於維護:

  • Model (模型): 負責應用程式的資料邏輯。它與資料庫交互,執行資料驗證、關聯等操作。
  • View (視圖): 負責向使用者呈現資料。它通常是 HTML 模板,用於顯示來自控制器和模型的資訊。
  • Controller (控制器): 作為模型和視圖之間的橋樑。它接收使用者的請求,與模型交互以獲取或更新資料,然後選擇一個視圖來回應使用者。

7. 實現一個基本的 CRUD 功能 (Scaffolding)

為了快速了解 Rails 的工作方式,我們將使用 scaffold 命令來生成一個簡單的部落格文章管理功能 (CRUD: Create, Read, Update, Delete)。

  1. 生成 scaffold:
    bash
    rails generate scaffold Post title:string content:text

    這個命令會生成:

    • 一個 Post 模型,包含 title (字串) 和 content (文本) 兩個屬性。
    • 一個處理 Post 資源的控制器 (PostsController)。
    • 用於顯示、創建、編輯 Post 的視圖文件。
    • 一個資料庫遷移文件。
    • 相應的路由設定。
  2. 執行資料庫遷移:
    scaffold 命令只生成了遷移文件,您需要執行它來在資料庫中創建 posts 表。
    bash
    rails db:migrate

  3. 啟動 Rails 伺服器:
    bash
    rails server
    # 或簡寫為 rails s

    現在,您的應用程式應該在 http://localhost:3000 上運行。

  4. 瀏覽應用程式:
    打開您的網頁瀏覽器,訪問 http://localhost:3000/posts。您將看到一個簡單的介面,允許您創建、查看、編輯和刪除文章。

8. 定義路由 (Routing)

在 Rails 中,路由定義了 URL 如何映射到控制器中的動作。您可以在 config/routes.rb 文件中找到並定義路由。

當您生成 scaffold 時,Rails 自動添加了 resources :posts,這為 posts 資源定義了所有標準的 RESTful 路由。

“`ruby

config/routes.rb

Rails.application.routes.draw do
resources :posts
# 您可以添加一個根路由
root “posts#index” # 將根 URL 定義為顯示所有文章的頁面
end
“`

9. 學習下一步

恭喜您,您已經成功地創建並運行了您的第一個 Rails 應用程式!這僅僅是個開始。要深入學習 Rails,您可以:

  • 閱讀 Rails Guides: 這是 Rails 官方最權威且最全面的學習資源。
  • 學習 Ruby 語言: 掌握 Ruby 的基礎對於理解 Rails 的魔力至關重要。
  • 理解 RESTful 設計: Rails 的設計哲學與 RESTful 原則緊密相關。
  • 深入學習 MVC 各層: 了解模型關聯、驗證、控制器過濾器、視圖助手等。
  • 編寫測試: Rails 鼓勵測試驅動開發 (TDD)。
  • 版本控制: 使用 Git 來管理您的程式碼。
  • 部署應用程式: 學習如何將您的 Rails 應用程式部署到 Heroku, Render 或其他伺服器。

祝您在 Ruby on Rails 的學習旅程中一切順利!

滚动至顶部