Contents
「設定より規約」思想に基づく極みたった3ステップでの実装フロー
Ruby on Railsの特徴である「設定より規約(convention over configuration)」を意識した、初心者でも理解しやすい3つの手順を紹介します。このアプローチでは、手動で設定する必要が少なく、プロジェクトの初期段階から効率的に開発を進められます。以下に、Ruby環境構築から最初のアプリ作成までをステップごとに解説していきます。
Ruby環境構築(rbenvやrvmの選定理由)
Ruby on Railsの開発にはまずRubyの環境構築が必須です。この段階で「rbenv」と「rvm」のどちらを使うべきか悩む人が多いですが、導入の簡単さと管理性を考慮するとrbenvがおすすめです。以下に選定理由や手順を詳しく解説します。
rbenv vs rvm | 選定理由比較
|
1 2 3 4 5 6 |
| 比較項目 | **rbenv** | **rvm** | |--------------|------------------------------------|----------------------------------| | インストール簡単さ | コマンドで一括導入可能 | ユーザー権限が必要な場合あり | | 複数バージョン管理 | システム環境と分離して管理可能 | グローバル設定に影響しやすい | | 初心者向け性 | **推奨**(シンプルで軽量) | やや複雑な構成が必要 | |
rbenvは、Rubyのバージョン管理を簡単かつ安全に行えるため、多くの開発者が採用しています。
Rubyインストール手順
以下にrbenvによるRuby環境構築の具体的なステップを紹介します。
-
rbenvの導入(公式サイト参照)
brew install rbenvまたはgit clone https://github.com/rbenv/rbenv.git ~/.rbenvを実行し、環境変数を設定します。 -
Rubyバージョンの指定
rbenv install -lで利用可能なバージョンを確認後、rbenv install 3.1.4(例)でインストール。 -
有効化と確認
rbenv global 3.1.4でグローバルバージョンを設定し、ruby -vでインストールが完了しているか確認します。
Rails新規プロジェクト生成コマンド解説
Ruby環境構築が終わったら、次はRailsアプリケーションの作成に移ります。ここで重要なのは「rails new」コマンドの使い方です。このステップを理解することで、プロジェクト初期設定を効率化できます。
rails new コマンドの基本
|
1 2 |
rails new [アプリケーション名] |
このコマンドを実行すると、以下のファイル構造が自動生成されます(一部抜粋):
app/:アプリケーション本体のコード(モデル・ビュー・コントローラー)config/:設定ファイル(ルートやデータベースなど)db/:データベース関連の設定とマイグレーションファイルGemfile:依存ライブラリの一覧
Gemfileとbundle installの役割
- Gemfileは、プロジェクトに必要なRubyライブラリ(gem)を列挙したファイルです。
- bundle installは、Gemfileで指定されたライブラリをインストールするコマンドです。
※ 事前に
bundle installを実行しないと、アプリケーション起動時にエラーが発生します。
データベース接続設定とマイグレーション作成
Railsではデータベースの接続先や構造はconfig/database.ymlで定義します。初期状態ではSQLiteがデフォルトですが、開発環境によって変更可能です。
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を使用しています。
マイグレーションファイルの作成にはrails generate migrationコマンドを使います。
マイグレーションファイルの作成手順
以下にマイグレーションファイルを作成する具体的なステップを紹介します。
-
以下のコマンドを実行:
rails generate migration [名前] [カラム:型] -
例として「タスク管理アプリ」でテーブルを作成する場合:
rails generate migration CreateTasks name:string status:boolean -
生成されたファイルは
db/migrate/配下に配置され、rails db:migrateで実行できます。
MVCアーキテクチャの具体例(モデル・ビュー・コントローラー)
Railsでは「MVCアーキテクチャ」が基本設計思想です。以下に、各コンポーネントの役割と簡単なコード例を示します。
モデル(Model)
データベースとやりとりする部分。例えばタスクモデルを作成:
|
1 2 3 4 5 |
# app/models/task.rb class Task < ApplicationRecord validates :name, presence: true end |
※ Modelは、データの検証やビジネスロジックを担当します。
コントローラー(Controller)
ユーザーからのリクエストを処理し、ビューにデータを渡す役割を担います。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# app/controllers/tasks_controller.rb class TasksController < ApplicationController def index @tasks = Task.all end def create @task = Task.new(task_params) if @task.save redirect_to tasks_path else render :new end end end |
※ Controllerは、リクエスト処理とビューへのデータ渡しを担当します。
ビュー(View)
HTMLやERBで構成され、ユーザーに表示されるページです。
|
1 2 3 4 5 6 7 8 |
<!-- app/views/tasks/index.html.erb --> <h1>タスク一覧</h1> <ul> <% @tasks.each do |task| %> <li><%= task.name %> - <%= task.status ? "完了" : "未着手" %></li> <% end %> </ul> |
初期ルート設定とビュー表示確認手順
最後に、アプリケーションのルーティングを設定し、実際にビューが表示されるか確認します。このステップは、アプリケーションの初期動作確認に不可欠です。
routes.rb の基本構成例
|
1 2 3 4 |
Rails.application.routes.draw do root 'tasks#index' end |
※ この設定では、
http://localhost:3000にアクセスすると「TasksController#index」が呼び出されます。
サーバ起動と確認手順
以下にサーバ起動の具体的なステップを紹介します。
-
アプリケーションディレクトリに移動:
cd [アプリケーション名] -
サーバーを起動:
rails serverまたはrails s -
ブラウザで
http://localhost:3000を開き、初期ビューが表示されることを確認します。
- Ruby環境構築(rbenvの選定理由)
- Railsプロジェクト生成とGemfileの役割
- データベース設定とマイグレーション作成
- MVCアーキテクチャの具体例(モデル・ビュー・コントローラー)
- 初期ルート設定とビュー表示確認手順
実際にRailsプロジェクトを作成してみましょう。コードエラーが起きたらコメント欄で質問してください。