Railsの[validates :~, presence: true]と[null: false]の違い
主に自分用に、初めての投稿です
[結論]
2つとも、nilの保存が防ぐことができますが、[null: false]の場合、""(空文字)を保存することが可能です。
また、[validates :~, presence: true]の場合、ブラウザ上からの保存はできませんが、SQLから保存処理を行うことができます。
そのため、カラムに制約をつける際は、マイグレーションファイルに[null: false],モデルに[validates :~, presence: true]の、2つの記述を書いておくと安心です。