{"id":14955320,"url":"https://github.com/yasslab/sample_apps","last_synced_at":"2025-04-14T18:14:10.753Z","repository":{"id":26678350,"uuid":"30135034","full_name":"yasslab/sample_apps","owner":"yasslab","description":"🎓 Railsチュートリアルの各章が終わった状態を集めたリポジトリです。","archived":false,"fork":false,"pushed_at":"2025-04-14T03:48:39.000Z","size":9542,"stargazers_count":351,"open_issues_count":0,"forks_count":312,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-04-14T18:14:01.711Z","etag":null,"topics":["demo","japanese","rails-tutorial","rails7","ruby","ruby-on-rails","sample"],"latest_commit_sha":null,"homepage":"https://railstutorial.jp","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yasslab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"yasslab","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2015-02-01T03:30:01.000Z","updated_at":"2025-04-14T06:32:40.000Z","dependencies_parsed_at":"2025-02-15T06:20:46.978Z","dependency_job_id":null,"html_url":"https://github.com/yasslab/sample_apps","commit_stats":{"total_commits":211,"total_committers":12,"mean_commits":"17.583333333333332","dds":0.5545023696682465,"last_synced_commit":"8ee8cdd4264673834ee3edc24925d9c8fd458b4a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasslab%2Fsample_apps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasslab%2Fsample_apps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasslab%2Fsample_apps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yasslab%2Fsample_apps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yasslab","download_url":"https://codeload.github.com/yasslab/sample_apps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248933340,"owners_count":21185460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["demo","japanese","rails-tutorial","rails7","ruby","ruby-on-rails","sample"],"created_at":"2024-09-24T13:10:58.706Z","updated_at":"2025-04-14T18:14:08.089Z","avatar_url":"https://github.com/yasslab.png","language":"Ruby","readme":"[![Railsチュートリアル_バナー画像](http://yasslab.jp/img/header-railstutorial.png)](https://railstutorial.jp/)\n\n# Rails チュートリアル sample_app コード集\n\n[Railsチュートリアル](https://railstutorial.jp/)の各章が終わった状態を集めたリポジトリです。   \n\n『Railsチュートリアルって何？』という方は[公式YouTubeチャンネル](https://www.youtube.com/channel/UCgSPCgA1ksSPKg1Jp99EEFw)をご参照ください :tv: :sparkles: \n\n\u003ca href=\"https://www.youtube.com/channel/UCgSPCgA1ksSPKg1Jp99EEFw\"\u003e\u003cimg src=\"https://i.gyazo.com/b1438c5a2a9174c7c9c0714287a72761.jpg\" width=\"500px\"\u003e\u003c/a\u003e\n\nSample App の開発途中でエラーの原因がどうしても分からないときや、[Railsチュートリアル解説動画](https://railstutorial.jp/screencast)を視聴するときなどにご活用ください。（解説動画は[お試し視聴](https://railstutorial.jp/trial)もできます）\n\n\u003ca href=\"https://railstutorial.jp/trial\"\u003e\u003cimg src=\"https://i.gyazo.com/aa8aab4e0428dee5ae91d236dcba5e8b.png\" width=\"500px\"\u003e\u003c/a\u003e\n\n\u003cbr\u003e\n\n## :open_file_folder: 各章とディレクトリ名の対応関係\n\n対応しているRailsのバージョン毎にディレクトリを分けております。具体的な対応関係は次のとおりです。\n\n- [Rails 7.0 対応](https://github.com/yasslab/sample_apps/tree/main/7_0) (第7版)\n- [Rails 6.1 対応](https://github.com/yasslab/sample_apps/tree/main/6_1) (第6版)\n- [Rails 6.0 対応](https://github.com/yasslab/sample_apps/tree/main/6_0) (第6版)\n- [Rails 5.1 対応](https://github.com/yasslab/sample_apps/tree/main/5_1) (第4版)\n- [Rails 5.0 対応](https://github.com/yasslab/sample_apps/tree/main/5_0) (第4版)\n- [Rails 4.2 対応](https://github.com/yasslab/sample_apps/tree/main/4_2) (第3版)\n- [Rails 4.0 対応](https://github.com/yasslab/sample_apps/tree/main/4_0) (第2版)\n\n上記の各ディレクトリの中に **各章が終わった状態の** `sample_app` を置いています。例えば `6_1` ディレクトリの場合は、次のようになります。\n\n- `ch01`: 第1章が終わった状態\n- `ch02`: 第2章が終わった状態\n- `ch03`: 第3章が終わった状態\n- `ch04`: 第4章が終わった状態\n- `ch05`: 第5章が終わった状態\n- `ch06`: 第6章が終わった状態\n- `ch07`: 第7章が終わった状態\n- `ch08`: 第8章が終わった状態\n- `ch09`: 第9章が終わった状態\n- `ch10`: 第10章が終わった状態\n- `ch11`: 第11章が終わった状態\n- `ch12`: 第12章が終わった状態\n- `ch13`: 第13章が終わった状態\n- `ch14`: 第14章が終わった状態\n\nなお、各章の[演習](https://railstutorial.jp/chapters/beginning#sec-exercises_rails_server)の結果や、[プロ品質のデプロイ](https://railstutorial.jp/chapters/sign_up?version=7.0#sec-professional_grade_deployment)などは反映されておりません。\n\n\u003cbr\u003e\n\n## :white_check_mark: 動作環境と注意事項\n**本リポジトリにあるサンプルコードは、第7版では [Railsチュートリアル用にカスタマイズしたGitHub Codespaces](https://github.com/yasslab/codespaces-railstutorial) 上で、第6版以前は [AWS Cloud9](https://aws.amazon.com/jp/cloud9/) 上で動作確認しています。** macOS や Windows などのローカル環境では下記の手順で動かないこともあります。あらかじめご了承ください。\n\n- :scroll: [開発環境（GitHub Codespaces） - Railsチュートリアル](https://railstutorial.jp/chapters/beginning#sec-development_environment)  \n- :scroll: [AWS Cloud9 を使って開発する - Railsチュートリアル](https://railstutorial.jp/help#aws-cloud9)\n\n\u003cbr\u003e\n\nまた**2022年9月より VS Code + Docker 環境でもチャレンジできる**ようになりました。詳細は下記の note 記事をご参照ください。\n\n🐳 [devcontainerを使って開発してみよう - note](https://note.com/yasslab/n/n5dcbd7eb43c6)\n\n\u003cbr\u003e\n\n## :wrench: アプリを動かす方法\n版番号や章番号ごとにセットアップ方法は異なります。例えば Codespaces を利用して[Rails 7.0 対応](#open_file_folder-各章とディレクトリ名の対応関係)の第11章を動かす場合は次のようになります。\nCodespacesの操作について詳しくは[『1.2.1開発環境』](https://railstutorial.jp/chapters/beginning?version=7.0#sec-development_environment)が、GitおよびGitHubについて詳しくは[『Git/GitHub編』](https://railstutorial.jp/git) が参考になります。\n\n1. 本リポジトリをフォークしてからPCなどにクローンし、該当のディレクトリへ移動します。移動したディレクトリでGitの初期化からコミットまでを行います。\n    ```\n    $ git clone https://github.com/\u003cあなたのアカウント名\u003e/sample_apps.git\n    $ cd 7_0/ch11\n    $ git init\n    $ git add .\n    $ git commit -m \"第11章動作確認\" \n    ```\n\n1. GitHubで、アプリを動かすための[リポジトリを作成](https://github.com/new)します。ここではリポジトリ名をsample_ch11としておきます。\n\n1. 手順2で作成したリポジトリで表示されるURLをリモートリポジトリURLとして設定し、プッシュします。\n\n    ```\n    # HTTPS接続の場合\n    $ git remote add origin https://github.com/\u003cあなたのアカウント名\u003e/sample_ch11.git\n    $ git remote -v\n    origin  https://github.com/\u003cあなたのアカウント名\u003e/sample_ch11.git (fetch)\n    origin  https://github.com/\u003cあなたのアカウント名\u003e/sample_ch11.git (push)\n\n    $ git push -u origin main\n    ```\n\n1. 手順2で作成したリポジトリで、「Code」から「Codespaces」タブに移動し、「Create codespace on main」をクリックすると環境構築がスタートします。しばらく待つとシンプルブラウザに「ActiveRecord::PendingMigrationError」が表示されるので、少し下の「Run pending migrations」ボタンをクリックするか、ターミナルを開いて以下のコマンドを実行するとデータベースが移行されます。\n    ```\n    $ rails db:migrate\n    ```\n\n1. テストを実行して、正しく動作していることを確認します。\n    ```\n    $ rails test\n    ```\n\n1. サンプルユーザーをデータベースに`seed`します。\n    ```\n    $ rails db:seed\n    ```\n\n結果はシンプルブラウザにも表示されていますが、実際のブラウザとは表示が異なる場合もあるので、シンプルブラウザのタブか「ポート」タブから実際のブラウザ（Chromeのタブなど）を開いておくと良いでしょう。無事にセットアップが完了できていれば、トップ画面が表示されます。ログインページから以下のメールアドレスとパスワードを入力するとログインできます。\n\n \u003cdetails\u003e\n    \u003csummary\u003eここをクリックすると Codespaces 以外の環境で動かす場合の参考情報が開きます。\u003c/summary\u003e\n\n 1. 本リポジトリをクローンし、該当のディレクトリへ移動します。\n    ```\n    $ git clone https://github.com/yasslab/sample_apps.git\n    $ cd 7_0/ch11\n    ```\n\n2. 本番環境でのみ必要なgemはスキップして`bundle install`します。\n    ```\n    $ bundle install --without production\n    ```\n\n3. データベースを移行します。\n    ```\n    $ rails db:migrate\n    ```\n\n4. テストを実行して、正しく動作していることを確認します。\n    ```\n    $ rails test\n    ```\n\n5. サンプルユーザーをデータベースに`seed`して、アプリを実行する準備が整いました。\n    ```\n    $ rails db:seed\n    $ rails server\n    ```\n\n無事にセットアップが完了できていれば、ブラウザから [localhost:3000](http://localhost:3000/) にアクセスするとトップ画面が表示されます。\n\u003c/details\u003e\n\n- メールアドレス: `example@railstutorial.org`\n- パスワード: `foobar`\n\nなお、第13章以降のSample Appを本番環境にデプロイする場合は、別途[Amazon S3のセットアップ](https://github.com/yasslab/sample_apps/blob/f797b502de9e033be5d14b5f34429e48ce453dea/6_0/ch13/config/storage.yml#L11-L14)が必要になります。\n\n\u003cbr\u003e\n\n## :mortar_board: 関連リンク/関連レポジトリ\n\n- 🎓 [Ruby on Railsチュートリアル](https://railstutorial.jp)\n  - 📖 [Railsチュートリアル電子書籍](https://railstutorial.jp/ebook)\n  - 📹 [Railsチュートリアル解説動画](https://railstutorial.jp/screencast)\n  - 👥 [Railsチュートリアル研修支援](https://railstutorial.jp/business)\n  - :octocat: [yasslab/codespaces-railstutorial (公開リポジトリ)](https://github.com/yasslab/codespaces-railstutorial)\n- 📕 [Ruby on Railsガイド](https://railsguides.jp)\n  - 📖 [Railsガイド電子書籍](https://railsguides.jp/ebook)\n  - 🔍 [Railsガイド『Proプラン』](https://railsguides.jp/pro)\n  - 🤝 [Railsガイド『協賛プラン』](https://railsguides.jp/sponsors)\n  - :octocat: [yasslab/railsguides.jp (公開リポジトリ)](https://github.com/yasslab/railsguides.jp)\n\n\u003cbr\u003e\n\n## :octocat: 本リポジトリのライセンス\n\nThe [MIT License](https://ja.wikipedia.org/wiki/MIT_License)\n\nCopyright \u0026copy; [YassLab Inc.](https://yasslab.jp)\n\n[![YassLab Logo](https://yasslab.jp/img/logos/800x200.png)](https://yasslab.jp)\n\n\u003cbr\u003e\n\n## :octocat: Sample Appのライセンス\n\nRuby on Rails Tutorial: Learn Web Development with Rails.\n\nAll source code in the Ruby on Rails Tutorial is available jointly under the MIT License and the Beerware License.\n\nCopyright \u0026copy; [Michael Hartl](https://www.michaelhartl.com/)\n\n","funding_links":["https://github.com/sponsors/yasslab"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasslab%2Fsample_apps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyasslab%2Fsample_apps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyasslab%2Fsample_apps/lists"}