Chapter 02無料公開

はじめに

Pikawaka
Pikawaka
2021.05.16に更新

「Railsアプリケーション設計チュートリアル」で学ぶこと

「Railsアプリケーション設計チュートリアル」は適切に責務分けされたディレクトリの作り方を段階的に解説しています。

ですから、本書を読めば実際に開発現場で採用されているディレクトリ設計方法を理解して、誰もが使いやすいRailsアプリケーションをあなたは作成できるようになります。

Railsを使えばMVCの構成になるので、基本的にアプリケーション全体で統一感の取りやすいディレクトリ設計になっています。しかし、規模が大きくなったときに明確なディレクトリ設計のルールがなければ、ルーティングとコントローラにばらつきが生じ、メンテナンスし辛いRailsアプリケーションになります。

「Railsアプリケーション設計チュートリアル」では、以下の3つのステップでルーティング、コントローラ、モデル、SCSSのディレクトリ構造とソースコードが適切に責務分けされたRailsアプリケーションを作成できる様になります。

1. リソースベースなRailsアプリケーションのディレクトリ設計方法

この章では、「リソースベースなルーティング設計方法」を中心に解説します。リソースベースなルーティング設計にすれば、ルーティング/コントローラ/ビューに統一感を持たせ、Railsアプリケーション全体として可読性の高いRailsアプリケーションになります。

逆にルーティング設計に統一性を持たせられなければ、コントローラとビューのディレクトリ構造に大きく影響が生じ、処理がどこに書いてあるのか分からなくなる原因になります。

まずRailsアプリケーションの土台となるルーティング設計方法を学びましょう。そして、「ルーティング/コントローラー/ビューのディレクトリに統一感を持たせたRailsアプリケーション」を作成できるようになりましょう。

2. スキニーコントローラ、ファットモデル

スキニーコントローラ、ファットモデルという考え方があります。この考え方はロジックはモデルに切り出し、コントローラーは処理を呼び出すために使おうという考え方です。

モデルにロジックを切り出すことで、コントローラー以外のいろいろな場所(例えばビューファイル)でロジックを使い回せる様になります。

コントローラーは処理を呼び出すだけなので、ファイルが肥大化せずコントローラーで何をしているか分かりやすくなります。

この章を読めば、同じ様なロジックをいろいろな場所で重複して書くことはなくなります。
モデルにどの様にロジックを定義すれば、汎用的にロジックを使いまわせるか分かる様になります。

3. FLOCSSを使ったSCSS設計方法

SCSSファイルはHTMLごとに書きたい様に書いてしまうと、あるSCSSファイルを変更すると、別の部分の見た目が崩れるといったデザイン崩壊が起きます。

デザイン崩壊を起こさないために、適切なディレクトリ構成でSCSSファイルを管理する有名な設計手法があります。

その設計手法は「FLOCSS」と呼ばれています。

FLOCSSを使用することで、SCSSのファイル数が不要にたくさん増えるのを防ぐことができ、どのデザインがどこに書いてあるか把握し易くなります。

また具体的な命名規則があるので、命名に統一性を持たせることができ、
ドキュメントも豊富なので分からなくてもすぐに調べられます。

この3つのステップを通して学ぶことで、ルーティング/コントローラ/モデル/SCSSのディレクトリ構造とソースコードが適切に責務分けされたRailsアプリケーションを作成できる様になります。

それでは、「リソースベースなRailsアプリケーションのディレクトリ設計方法」から学んでいきましょう。