Railsの基本:MVCとルーティング
Ruby on Railsの仕組みを学びながら、SNSサービスのトップページとサービス紹介ページを作成します。ルーティング・コントローラ・ビューの役割を理解しましょう。
- MVC
- ルーティング
- レイアウト
ビューとインスタンス変数 プラス
ビューで変数を表示し、each で繰り返し、コントローラからインスタンス変数でデータを受け渡して投稿一覧ページを作ります。
- マイグレーション
- モデル
- データベース
モデルとマイグレーション プラス
マイグレーションとモデルを使って、投稿データをデータベースに保存・表示する仕組みを作ります。
- マイグレーション
- モデル
- データベース
投稿のCRUD(作成・表示・削除) プラス
form_withとStrong Parametersで投稿フォームを作り、作成・詳細表示・削除とflashメッセージまで実装します。
- CRUD
- Strong Parameters
- flash
resourcesとRESTfulルーティング プラス
RESTの考え方と resources による7つのルーティングの自動生成を学び、パスヘルパーに移行します。
- REST
- resources
- パスヘルパー
投稿の編集と更新 プラス
編集フォームとupdateアクションを作り、PATCHリクエストによる更新処理を実装します。
- CRUD
- PATCH
- フォーム
バリデーション プラス
モデルのバリデーションで不正なデータを防ぎ、エラーメッセージの表示と属性名の日本語化を行います。
- バリデーション
- エラーメッセージ
- i18n
ユーザー機能(CRUD) プラス
Userモデルを作り、一覧・詳細・登録・編集まで、usersリソースのCRUDを一通り実装します。
- CRUD
- resources
- ユーザー管理
画像アップロードとActive Storage プラス
file_fieldによる画像アップロードと、publicフォルダへの保存・表示を実装します。
- 画像アップロード
- フォーム
セッションと認証 プラス
hassecurepasswordとsessionでログイン・ログアウトを実装し、before_actionによる認証・認可を学びます。
- 認証
- セッション
- before_action
アソシエーション プラス
belongstoとhasmanyで投稿とユーザーを紐付け、投稿者表示と本人のみの操作制限を実装します。
- アソシエーション
- 認可
- 外部キー
いいね機能とネストしたリソース プラス
中間テーブルとネストルーティングでいいね機能を作り、has_many :throughで「いいねした投稿」を取得します。
- 多対多
- ネストルーティング
- has_many :through
実務レベルまで プロ
Active Recordクエリとseeds プロ
scope・検索・ランキング・N+1対策など実務で使うクエリと、seedsによる初期データ投入を学びます。
- クエリ
- scope
- N+1対策
RSpecでテストを書こう プロ
実務で広く使われるテストフレームワーク RSpec を学びます。セットアップからモデル spec・リクエスト spec の書き方、let や context による整理までを身につけましょう。
- テスト
- RSpec
リファクタリングと次のステップ プロ
パーシャルによるビュー共通化、日時表示、set_◯◯によるコントローラ整理でアプリを仕上げ、次に学ぶ技術を紹介します。
- パーシャル
- リファクタリング
- i18n
実務のデータ設計と競合への対処 プロ
保存時の重複、途中失敗、同時編集を再現し、DB制約・トランザクション・楽観的ロックでPostAppのデータを守ります。
- DB制約
- トランザクション
- 楽観的ロック
件数が増えても使いやすい一覧 プロ
新着が増えても重複しないページング、更新に追従するキャッシュ、実行計画を見て足すインデックス、先読みで解消する N+1 を実装します。SQLの計測と合わせ、速さと正しさを両立させましょう。
- ページング
- キャッシュ
権限と再設定をテストで守る プロ
他人による更新や所有者の偽装をリクエストテストで検出し、期限付きトークンの改ざん・期限切れ・再利用を確かめ、ログインの試行回数を制限します。
- 認可テスト
- パスワード再設定
- レート制限
メール通知と非同期処理 プロ
保存した通知からメールを作り、別プロセスへジョブを渡します。失敗した通知の再実行と、重複を防げる範囲まで考えましょう。
- Action Mailer
- Active Job
- 再実行
Active StorageとAction Textの実装 プロ
プロフィール画像をActive Storageへ移し、添付の検証と削除を実装します。投稿にはAction Textで詳しい説明を追加します。
- Active Storage
- Action Text
- ファイル検証
監視・バックアップ・公開前の検証 プロ
起動確認とDB確認を分け、バックアップからデータを読み戻し、ログの情報を制御します。CI、段階的なDB変更、公開後の確認と復旧も整理します。
- ヘルスチェック
- バックアップ
- ログ
- リリース
道場:オリジナルアプリ開発 道場 プロ
コースで学んだことを活かして、AI エージェントと一緒に自分だけの Rails アプリケーションを自由に作りましょう。
- 総合演習
- オリジナルアプリ開発
- Progate Code
学習内容をみる (1演習)
よくある質問
- Rubyを学んでいなくても受講できますか?
- 本コースはRubyの基本文法(変数、配列、ハッシュ、メソッド、クラスなど)を理解していることを前提としています。はじめての方は、先にRubyコースを受講することをおすすめします。
- 環境構築は必要ですか?
- 必要ありません。ブラウザ上でRailsアプリケーションを実行しながら学習できるため、パソコンにRubyやRailsをインストールしなくても始められます。
- このコースを修了すると何ができるようになりますか?
- SNSの基本機能に加え、DB制約と同時編集への対処、権限のテスト、ページングとキャッシュ、メールとジョブ、画像とリッチテキスト、監視とバックアップを実装・検証できます。公開サーバーの構成や外部サービスの契約・実デプロイは演習に含みません。