初心者からのエンジニア日記

2020年6月末~TECH::CAMPにて本格的にプログラミング学習を開始。 販売職/店長を経て、駆け出しエンジニアの道へ一歩踏み出しました! 様々なアウトプットをしていきたいと思います! HTML/CSS,Ruby,Ruby on Rails,Java Script,jQuery,Haml/Scss,GitHub...

【Rails】バリデーション

本日のアウトプット

・バリデーション

・NOT NULL制約

・一意性制約

・主キー制約

・外部キー制約

 

 

 

バリデーション

データを登録する際に、一定の制約をかけること。

バリデーションを設ける際は、モデルに記載する。

class Tweet <ApplicationRecord
  validates :text, presence: true
end

 

 

NOT NULL制約

テーブルの属性値にNULL(空の値)が入ることを許さない制約。

create_table :users do |t|
  t.string :name, null: false
  t.timestamps null: false
end

↑「null: false」と記述することでNOT NULL制約を設定できる。

 

 

一意性制約

カラムに設定する制約。

一意性制約を設定したカラムは同じ値を設定できない。

add_index :テーブル名, :カラム名, unique: true

 

 

主キー制約

主キーである属性値が必ず存在、かつ重複していないことを保証する制約。

主キーに対してNOTNULL制約と一意性制約の両方を設定するのと同義。

Railsでテーブルを作成する際、主キー制約は元々実装されており、

主キーはisカラムとして自動生成される。

(idカラムの値は重複しない)

 

 

外部キー制約

外部キーに対応するレコードが必ず存在することを保証する制約。