has_manyで関連づけられたモデルも一括保存する方法

Nested Attributesによって, has_manyで関連づけられたモデルのデータも丸ごと保存する方法を紹介します. モデル例 本記事では例として以下のようなモデルを扱うことにします. class User < ApplicationRecord has_many :posts end class Post < Application…

Railsチュートリアル 第14章

14.1 Relationshipモデル 14.1.1 演習1 演習2 14.1.2 演習1, 2 14.1.3 演習1 14.1.4 演習1, 2 14.1.5 演習1 演習2, 3 14.2 [follow]のWebインターフェース 14.2.1 演習1, 2 14.2.2 演習1, 2 演習3 14.2.3 演習1, 2 14.2.4 演習1 演習2 14.2.5 演習1 演習2 14…

Railsチュートリアル 第13章

13.1 Micropostモデル 13.1.1 演習1 演習2 演習3 13.1.2 演習1 演習2 13.1.3 演習1 演習2 演習3 13.1.4 演習1, 2 演習3 13.2 マイクロポストを表示する 13.2.1 演習1 演習2 演習3 13.2.2 演習1, 2 演習3 13.2.3 演習1, 2 13.3 マイクロポストを操作する 13.3…

Railsチュートリアル 第12章

12.1 PasswordResets リソース 12.1.1 演習1 演習2 12.1.2 演習1 12.1.3 演習1 演習2 12.2 パスワード再設定のメール送信 12.2.1 演習1, 2, 3 12.2.2 演習1 演習2 12.3 パスワードを再設定する 12.3.1 演習1 演習2 12.3.2 演習1, 2 12.3.3 演習1 演習2 演習3…

Railsチュートリアル 第11章

11.1 AccountActivations リソース 11.1.1 演習1 演習2 11.1.2 演習1 演習2 11.2 アカウント有効化のメール送信 11.2.1 演習1 11.2.2 演習1 11.2.3 演習1, 2 11.2.4 演習1 演習2 11.3 アカウントを有効化する 11.3.1 演習1, 2 11.3.2 演習1, 2 11.3.3 演習1,…

Railsチュートリアル 第10章

10.1 ユーザーを表示する 10.1.1 演習1 演習2 気になった点その1 気になった点その2 10.1.2 10.1.3 演習1 10.1.4 10.2 認可 10.2.1 演習1 10.2.2 演習1 演習2 10.2.3 演習1 演習2 10.3 すべてのユーザーを表示する 10.3.1 演習1 10.3.2 演習1 10.3.3 演習1 …

Railsチュートリアル 第9章

9.1 Remember me 機能 9.1.1 演習1 演習2 9.1.2 疑問1 current_userメソッドの定義 疑問2 どうしてログアウトできないのか 演習1, 2 9.1.3 演習1 9.1.4 演習1, 2, 3 9.2 [Remenber me] チェックボックス 9.3 [Remember me] のテスト 9.3.1 演習1 9.3.2 9.1 R…

Railsチュートリアル 第8章

8.1 セッション 8.1.1 演習1 演習2 8.1.2 演習1 8.1.3 演習1 8.1.4 8.1.5 演習1 8.2 ログイン 8.2.1 演習1 演習2 8.2.2 演習1 演習2 8.2.3 演習1, 2 8.2.4 演習1, 2 8.2.5 演習1, 2 8.3 ログアウト 演習1 演習2 8.1 セッション 8.1.1 演習1 省略. 演習2 rout…

Railsチュートリアル 第7章

7.1 ユーザーを表示する 7.1.1 演習1 演習2 7.1.2 演習1, 2 7.1.3 演習2 7.1.4 演習1, 2 演習3 7.2 ユーザー登録フォーム 7.2.1 演習1 演習2 7.2.2 演習1 7.3 ユーザー登録失敗 7.3.1 7.3.2 演習1 7.3.3 演習1 演習2 7.3.4 演習1 演習2 演習3 演習4 7.4 ユー…

Docker環境でByebugを使う方法

概要 Railsチュートリアルの第7章でByebugを使っています. Docker環境でByebugを利用するためには, 追加手順が必要なので書き残しておきます. 本当ははじめから全てが整った環境を構築できれば申し分ないですが, 途中からでも以下の手順を実行すれば問題あり…

【Rails, Docker】コンテナが起動後すぐに落ちてしまうトラブルの原因とその対処法

概要 DockerでRails環境を構築すると, コンテナが起動しないトラブルに見舞われることがあります. その原因と対処法を説明します. トラブルケース 以下のようなコマンドでRails Serverが稼働しているコンテナに入ったとします. docker-compose exec <Rails container> bash 一</rails>…

Railsチュートリアル 第6章

6.1 Userモデル 6.1.1 演習1 schema.rbの内容は以下の通りです. ActiveRecord::Schema.define(version: 2018_06_25_044152) do create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t| t.string "name" t.string "em…

Railsチュートリアル第5章

5.1 構造を追加する 5.1.1 レイアウトファイルを更新し, home.html.erbも編集をします. curlコマンドでRailsのロゴをダウンロードしました. 確認のためにFinderからロゴ画像を開いたところ, 邪魔な.DS_Storeファイルが生成されてしまいました. $ git status …

Railsチュートリアル 第4章

Railsチュートリアルの第4章です. この章はわりと演習が楽しかったですね. 4.1 動機 トピックブランチを作成し, チェックアウトします. 4.1.1 省略. 4.1.2 カスタムヘルパーの作成は, 4.2を終えてからにします. 4.2 文字列とメソッド 4.2.1 省略. 4.2.2 省略…

Railsチュートリアル 第3章

Railsチュートリアルの第3章を進めた際のメモです. チュートリアルに書かれていることは書かないようにしています. かなり個人的なメモですから, 参考程度にご覧ください. 3.1 セットアップ Dockerを使って環境を構築しました. 詳しくはこちらで解説していま…

Railsチュートリアル 第2章

Railsチュートリアルの第2章を進めました. 概観をつかむ章ですね. 2.1 アプリケーションの計画 2.2 Usersリソース 2.2.1 演習1 演習2, 3 演習4 2.2.2 演習1 演習2 演習3 2.3 Micropostsリソース 2.3.1 演習1 演習2 演習3 演習4 2.3.2 演習1 演習2 2.3.3 演習…

Railsチュートリアル 第1章

環境構築 開発環境はDockerを使って構築しました. 詳細な手順は以前の投稿にて詳しく解説しています. 環境構築の時点で, rails newまで終わらせています. ファイルを編集する前にGitリポジトリを作成しました. Gemfileの編集 チュートリアル通りのバージョン…

DockerでRails+MySQLの環境を構築

Railsチュートリアルを進めるための環境を構築しました. 概要 作業環境 ひとつの疑問 各種ファイル MySQLコンテナ用のDockerfile Webサーバーコンテナ用のDockerfile 2つのコンテナをまとめて扱うComposeファイル GemfileとGemfile.lock Railsアプリの骨組み…

Dockerにおけるボリュームのマウント

Dockerを使う際, ホストマシン上のボリュームをコンテナ内にマウントしたい場面が多々あります. 本記事ではDockerにおけるマウントについて深く掘り下げていきます. 本記事にはMacだけにしか適用できない事柄を含みます(私がMacを使っているので). その場合…

docker-compose down はなぜコンテナを削除するのか

DockerでRailsの開発環境を構築しました. 公式ドキュメントを見てみると, プロジェクトの停止にはdocker-compose downを使えと書いてあります. このコマンドを実行するとコンテナが削除されますが, どうしてコンテナを削除する必要があるのでしょうか. 実験…