Railsチュートリアルの各章が終わった状態を集めたリポジトリです。
『Railsチュートリアルって何?』という方は公式YouTubeチャンネルをご参照ください 📺 ✨
Sample App の開発途中でエラーの原因がどうしても分からないときや、Railsチュートリアル解説動画を視聴するときなどにご活用ください。(解説動画はお試し視聴もできます)
対応しているRailsのバージョン毎にディレクトリを分けております。具体的な対応関係は次のとおりです。
上記の各ディレクトリの中に 各章が終わった状態の 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のタブなど)を開いておくと良いでしょう。無事にセットアップが完了できていれば、トップ画面が表示されます。ログインページから以下のメールアドレスとパスワードを入力するとログインできます。
本リポジトリをクローンし、該当のディレクトリへ移動します。
$ 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 にアクセスするとトップ画面が表示されます。
[email protected]
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