LoginSignup
0
0

More than 3 years have passed since last update.

Railsをやって、最近まなんだ事をまとめてみる

Last updated at Posted at 2020-05-14

はじめに

自分が最近Railsで、制作していて忘れそうなことをメモ感覚で残したものなので、
頭おかしいこと書いてあるかもしれないのでご了承ください。

STI(単一テーブル継承)

1つのテーブルを継承したクラスを作成することができる。
継承することによって、子クラスは親クラスと同じカラムを使うことができるので、似たようなクラスを作って増やしたいときに、カラムの定義を1つずつ行わなくてよくなるので、手間も少なくなるので便利です。カラムを追加することもできます。

※ 親クラスには、string型typeをカラムとして追加することを忘れないように、気を付けましょう!

使い方の参考記事

モデルの関連付けについて

1対1とか、1対多などの関係定義などを行うときに、いろんなファイル内に設定を書き込まないといけないので、結構大変です。
簡単に、こんな時にこう書く的なのをまとめます。

  • 1対1のつながり(従属)
    • belongs_to を従属するモデルに書く
  • 1対1のつながり(含む、所有など)
    • has_one を所有するモデルに書く
  • 1対多のつながり
    • has_manyを所有するモデルに書く
  • 従属する(マイグレーションファイル)
    • references :従属されるモデル(単数形) を従属する側のモデルのマイグレーションファイルに書く

大体こんな感じだと思います。
Railsガイド- Active Recordの関連付け

バリデーションなど

よく使うやつと個人的に思うものをまとめます。
バリデーションで、データを確認することにより、保存したいデータのみを保存することができる。

  • presence
    • 指定した値が空かどうかを確認
  • format
    • 正規表現などを利用して、データの内容(文字など)を検証する
  • length
    • 長さを検証
      • maximum : 最大値を指定
      • minimum : 最小値を指定
      • in : 値の範囲を指定できる(以上、以下の指定ができる)
      • is : 等しくないといけないように指定できる

最後に

Railsで開発するときに、すごい悩まされたのがデータベース設計でした。今までは、本に書いてあることをそのまま作ればよいだけでしたが、自分で開発する際には、データベースのカラムに何が必要か、どんな制約を付けるか。などとても悩む部分が多かったです。でも、いろんなことにチャレンジすることはいつか自分のためになると思うので、皆さんも頑張ってください!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0