Modelクラスとデータベースとの紐付けについて
恥ずかしながら、Modelクラス(Active Record)と、データベースってどうやって紐付けされてるの?という部分を疑問に思っていました。
rails g model hoge
とターミナルで入力すれば、Modelファイルとマイグレーションファイルが出来上がるというRailsの機能が便利すぎて、逆にどうやって紐付けされてるのかという部分が理解しきれていませんでした。
Active Recordには、Modelクラスの命名規則があり、データベースのテーブル名を見つけるときに、モデルのクラス名を複数形にしたものを使用する。
つまりModelクラス名をHogeとした場合、これに対応するデータベースのテーブル名は複数形のhogesになる。
また、このRailsの複数形化させるシステムはかなり優秀らしく、不規則な名前であっても複数形にしたり単数形にしたりできる(person→peopleなど)。
また、モデルのクラス名が2語以上の複合語である場合、キャメルケース型(CamelCaseのようにスペースなしでつなぐ)という記述にするというルールがあり、その場合、テーブル名が(camel_caseなどのように)小文字かつアンダースコアで自動で区切られる形になる。
下記のRuby on Railsの公式ガイドの「Active Record の基礎」にもっと詳しく記載されています。
【余談】
Railsの学習を始めてから、早くも1ヶ月が経過しました。
たった1ヶ月で形になるものが作れるようになれると思っていなかったですが、簡単なものではありますが、なんとか形になるものを作成することができています。