Contents
Ruby環境構築手順
Ruby on Railsを開発するにはまず、Rubyのインストールが必要です。OSごとに適した方法を紹介します。
Rubyインストール方法(Windows/macOS/Linux)
各OSで推奨されるインストール方法は以下の通りです。
| OS | 推奨インストール方法 | 注意点 |
|---|---|---|
| Windows | RubyInstaller を使用 | パスを通す際は「Add to PATH」をチェックする |
| macOS | Homebrewで brew install ruby |
システムに含まれるRubyと混ざらないように注意 |
| Linux | sudo apt-get install ruby またはソースからビルド |
RubyGemsのバージョンを確認すること |
gemの基本操作とバージョン確認
インストール後は、gemコマンドでRailsやその他のライブラリを管理します。
- gem list でインストール済みパッケージを確認
- gem install rails でRailsを最新版に更新
- バージョン確認:
rails -vまたはruby -v
注意: ローカル環境と本番環境でRubyのバージョンが一致しないとトラブルになるため、rbenvやrvmを使って複数バージョンを管理する方法も検討してください。
Railsプロジェクト生成方法
Railsアプリケーションは、rails newコマンドで一括生成できます。
新規プロジェクトの作成コマンド
以下のコマンドでプロジェクトを作成します。
|
1 2 3 |
rails new my_app cd my_app |
例:
my_appという名前のアプリケーションが生成され、config,app,dbなどのディレクトリ構造が自動作成されます。
ディレクトリ構造の概要
Railsのディレクトリは以下の通りで、役割を分担しています。
| ディレクトリ | 説明 |
|---|---|
app |
コントローラーやモデルが配置される本体部 |
config |
設定ファイル(ルーティングやデータベース設定) |
db |
マイグレーションファイルやデータベース構造を管理 |
lib |
自作ライブラリやユーティリティ関数 |
MVCアーキテクチャの理解
Ruby on RailsはModel-View-Controller(MVC)という設計パターンに基づいています。
Model・View・Controllerの役割
| 要素 | 担当内容 |
|---|---|
| Model | データベースとやりとりし、ビジネスロジックを管理 |
| View | ユーザーに表示するHTMLやJavaScriptを扱う |
| Controller | リクエストを受け取り、ModelとViewを橋渡しする |
簡単なコード例で確認
たとえば、ユーザー情報を表示する場合:
- Model:
Userクラスでデータベースから情報を取得 - Controller:
UsersController#indexで取得した情報をViewに渡す - View:
app/views/users/index.html.erbでHTMLとしてレンダリング
こうすることで、「データの処理」(Model)と「表示」(View)が分離され、保守性が向上します。
データベース操作基礎
Railsではデータベース操作を簡潔に行うことができます。
データベース接続設定(database.yml)
config/database.ymlでデータベースの種類や接続情報を指定します。
|
1 2 3 4 5 6 7 8 9 |
default: &default adapter: sqlite3 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> timeout: 5000 development: <<: *default database: db/development.sqlite3 |
SQLiteは初期開発に適していますが、本番環境ではPostgreSQLやMySQLを使うことが多いです。
モデル作成とマイグレーションの実行
モデルを作成し、データベース構造を変更するには以下のコマンドを使います。
|
1 2 3 |
rails generate model User name:string email:string rails db:migrate |
上記コマンドで
Userモデルが生成され、db/migrate/xxxx_create_users.rbというファイルが作成されます。
RESTful API実装例
Railsは「REST」(Representational State Transfer)方式を自然にサポートしています。
ルーティング設定の基本
config/routes.rbでルートを定義します。
|
1 2 |
resources :users |
この1行で、
index,show,create,update,destroyという7つのAPIエンドポイントが自動生成されます。
コントローラーでの CRUD 実装
app/controllers/users_controller.rbに以下のコードを記述します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
class UsersController < ApplicationController def index @users = User.all render json: @users end def create @user = User.new(user_params) if @user.save render json: @user, status: :created else render json: @user.errors, status: :unprocessable_entity end end end |
上記コードで「ユーザー一覧取得」と「新規作成」の機能が実装されます。
デプロイまでの一連の流れ
ローカル環境で作成したアプリを、インターネット上に公開するには以下の手順が必要です。
Herokuでの無料デプロイ手順
- Herokuアカウントを作成
- プロジェクトディレクトリに
Gemfileが存在することを確認 - Heroku CLIでアプリを作成:
heroku create my_app_name - データベース設定ファイル修正(config/database.yml)
- デプロイ:
git push heroku main
Herokuは無料枠があるため、最初の学習には最適です。ただし、本番環境ではVPSやAWSなど他のクラウドサービスも選択肢になります。
おわりに:無料練習用リポジトリ
本記事で紹介したコード例を実際に試してみたい方は、以下リンクから無料練習用リポジトリをご利用ください。https://github.com/your-repo-url