はじめに
本記事は、Railsの学習を始めて1ヶ月の初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
今回の疑問点
今回の疑問点は、
・モデルとテーブルの関係
です。
現在、Twitterクローンを作成しており、フォロー/フォロワー機能の実装の際に上記について疑問を抱きました。
疑問点についての解説
モデルとテーブルの関係について
結論:テーブルとコントローラをモデルがつなぎ、モデルとテーブルの関連付けは、それぞれの名前によってRailsが自動的に行う。
- モデルとは
- モデルとは、コントローラとテーブルとの繋ぎ役です。コントローラから指示を受けてデータベースとの間で情報のやり取りを行います。簡単に表すと以下の通りです。
コントローラ ⇄ モデル ⇄ データーベース - データベースとは
- データーベースとは、データを格納する保存先です。さまざまなデータを整理して格納したテーブルが複数保管されています。
- テーブルについて
- テーブルには、データを整理するために、表計算ソフトのような表形式でデータが格納されています。
- モデルとテーブルの関連付けについて
- モデルとテーブルの関連付けは、それぞれの名前によってRailsが自動的に行います。そのため、命名規則に従い、モデルとテーブルの名前をつける必要があります。命名規則については、Railsにおける命名規則をご参照ください。
データベースとテーブルの関係は以下の通りです。
※データベースには複数のテーブルが保管されています。
データベース
・テーブルa
・テーブルb
・テーブルc
:
まとめ
モデルとテーブルの関係については、テーブルとコントローラをモデルがつなぎ、モデルとテーブルの関連づけは、命名規則に基づき付けられたそれぞれの名前によって、Railsが自動的に行うということがわかりました。最後に簡単に図示します。
コントローラ ⇄ モデル ⇄ テーブル(inデータベース)
↑関連付けは、モデル及びテーブルの名前により自動的に行われる。