Railsチュートリアルの各章が終わった状態を集めたリポジトリです。
『Railsチュートリアルって何?』という方は公式YouTubeチャンネルをご参照ください 📺 ✨
Sample App の開発途中でエラーの原因がどうしても分からないときや、Railsチュートリアル解説動画を視聴するときなどにご活用ください。(解説動画はお試し視聴もできます)
対応しているRailsのバージョン毎にディレクトリを分けております。具体的な対応関係は次のとおりです。
- Rails 7.0 対応 (第7版)
- Rails 6.1 対応 (第6版)
- Rails 6.0 対応 (第6版)
- Rails 5.1 対応 (第4版)
- Rails 5.0 対応 (第4版)
- Rails 4.2 対応 (第3版)
- Rails 4.0 対応 (第2版)
上記の各ディレクトリの中に 各章が終わった状態の sample_app
を置いています。例えば 6_1
ディレクトリの場合は、次のようになります。
ch01
: 第1章が終わった状態ch02
: 第2章が終わった状態ch03
: 第3章が終わった状態ch04
: 第4章が終わった状態ch05
: 第5章が終わった状態ch06
: 第6章が終わった状態ch07
: 第7章が終わった状態ch08
: 第8章が終わった状態ch09
: 第9章が終わった状態ch10
: 第10章が終わった状態ch11
: 第11章が終わった状態ch12
: 第12章が終わった状態ch13
: 第13章が終わった状態ch14
: 第14章が終わった状態
なお、各章の演習の結果や、プロ品質のデプロイなどは反映されておりません。
本リポジトリにあるサンプルコードは、第7版では Railsチュートリアル用にカスタマイズしたGitHub Codespaces 上で、第6版以前は AWS Cloud9 上で動作確認しています。 macOS や Windows などのローカル環境では下記の手順で動かないこともあります。あらかじめご了承ください。
また2022年9月より VS Code + Docker 環境でもチャレンジできるようになりました。詳細は下記の note 記事をご参照ください。
🐳 devcontainerを使って開発してみよう - note
版番号や章番号ごとにセットアップ方法は異なります。例えば Codespaces を利用してRails 7.0 対応の第11章を動かす場合は次のようになります。 Codespacesの操作について詳しくは『1.2.1開発環境』が、GitおよびGitHubについて詳しくは『Git/GitHub編』 が参考になります。
-
本リポジトリをフォークしてからPCなどにクローンし、該当のディレクトリへ移動します。移動したディレクトリでGitの初期化からコミットまでを行います。
$ git clone https://github.com/<あなたのアカウント名>/sample_apps.git $ cd 7_0/ch11 $ git init $ git add . $ git commit -m "第11章動作確認"
-
GitHubで、アプリを動かすためのリポジトリを作成します。ここではリポジトリ名をsample_ch11としておきます。
-
手順2で作成したリポジトリで表示されるURLをリモートリポジトリURLとして設定し、プッシュします。
# HTTPS接続の場合 $ git remote add origin https://github.com/<あなたのアカウント名>/sample_ch11.git $ git remote -v origin https://github.com/<あなたのアカウント名>/sample_ch11.git (fetch) origin https://github.com/<あなたのアカウント名>/sample_ch11.git (push) $ git push -u origin main
-
手順2で作成したリポジトリで、「Code」から「Codespaces」タブに移動し、「Create codespace on main」をクリックすると環境構築がスタートします。しばらく待つとシンプルブラウザに「ActiveRecord::PendingMigrationError」が表示されるので、少し下の「Run pending migrations」ボタンをクリックするか、ターミナルを開いて以下のコマンドを実行するとデータベースが移行されます。
$ rails db:migrate
-
テストを実行して、正しく動作していることを確認します。
$ rails test
-
サンプルユーザーをデータベースに
seed
します。$ rails db:seed
結果はシンプルブラウザにも表示されていますが、実際のブラウザとは表示が異なる場合もあるので、シンプルブラウザのタブか「ポート」タブから実際のブラウザ(Chromeのタブなど)を開いておくと良いでしょう。無事にセットアップが完了できていれば、トップ画面が表示されます。ログインページから以下のメールアドレスとパスワードを入力するとログインできます。
ここをクリックすると Codespaces 以外の環境で動かす場合の参考情報が開きます。
-
本リポジトリをクローンし、該当のディレクトリへ移動します。
$ git clone https://github.com/yasslab/sample_apps.git $ cd 7_0/ch11
-
本番環境でのみ必要なgemはスキップして
bundle install
します。$ bundle install --without production
-
データベースを移行します。
$ rails db:migrate
-
テストを実行して、正しく動作していることを確認します。
$ rails test
-
サンプルユーザーをデータベースに
seed
して、アプリを実行する準備が整いました。$ rails db:seed $ rails server
無事にセットアップが完了できていれば、ブラウザから localhost:3000 にアクセスするとトップ画面が表示されます。
- メールアドレス:
example@railstutorial.org
- パスワード:
foobar
なお、第13章以降のSample Appを本番環境にデプロイする場合は、別途Amazon S3のセットアップが必要になります。
The MIT License
Copyright © YassLab Inc.
Ruby on Rails Tutorial: Learn Web Development with Rails.
All source code in the Ruby on Rails Tutorial is available jointly under the MIT License and the Beerware License.
Copyright © Michael Hartl