2022-09

Ruby

【Ruby on Rails】シンプルなTodoアプリを作ってみる

こんにちは、かつコーチです。これまでルーティング・ActiveRecord・バリデーション・アソシエーション・Service Objectと、Railsの要素を1つずつ解説してきました。今回はその総まとめとして、シンプルなTodoアプリを実...
Ruby

【Ruby on Rails】プロジェクトのディレクトリ構成のベストプラクティス

こんにちは、かつコーチです。前回まで、Service ObjectやConcernといった設計パターンを解説してきました。これらのクラスを実際に配置する際、標準のappディレクトリだけでは受け皿が足りなくなります。今回は、大規模なRails...
Ruby

【Ruby on Rails】Concern(関心の分離)の使い方

こんにちは、かつコーチです。複数のモデルやコントローラに同じようなコードが増えてきたとき、RailsにはConcernという共通化の仕組みが用意されています。ActiveSupport::Concernを使うと、モジュールの形で関心事を切り...
Ruby

【Ruby on Rails】Fat Controller/Fat Modelを避けるためのService Objectパターン

こんにちは、かつコーチです。Railsで開発を続けていると、コントローラやモデルがどんどん肥大化していく問題に必ず突き当たります。いわゆるFat Controller(処理を詰め込みすぎたコントローラ)やFat Model(責務が多すぎるモ...
Ruby

【Ruby on Rails】rails consoleを使いこなすデバッグ術

こんにちは、かつコーチです。バグの原因を探すとき、いちいち画面を操作して確認するのは時間がかかりますよね。私も初心者の頃は、コードを1行変えるたびにブラウザをリロードして確認していました。この記事では、rails consoleを使ってモデ...
Ruby

【Ruby on Rails】ActiveRecord::RecordNotFoundで落ちる画面を防ぐ方法

こんにちは、かつコーチです。存在しないIDのURLにアクセスしたら、真っ白なエラー画面が表示されて困った経験はありませんか。本番環境でこの画面をユーザーに見せてしまうと、サービスへの信頼を損ねてしまいます。この記事では、ActiveReco...
Ruby

【Ruby on Rails】マイグレーションが失敗して困った話と対処法

こんにちは、かつコーチです。マイグレーションを実行したら、途中で止まって動かなくなった経験はありませんか。私は開発中に何度もこの状況に陥り、原因が分からず焦った経験があります。この記事では、マイグレーション失敗時の代表的な症状と、実際に私が...
Ruby

【Ruby on Rails】Railsでよく出るエラーと解決法まとめ

こんにちは、かつコーチです。Railsを触り始めたばかりの頃は、見慣れないエラー画面に戸惑うことが多いですよね。私自身も学習初期は、エラーメッセージを読まずにコードを闇雲に書き換えて時間を浪費していました。この記事では、初心者が特につまずき...