Railsで開発していて、データベースのカラムに更新する時、nullは更新させないが、""(空文字)は更新させたい場合、どのような組み方になるものでしょうか。
まず、nullは更新させないので、カラムでnullをfalseにします。
create_table :items do |t| t.string :name, null:false
モデルの中で、presence: trueにすれば、saveする時に、""(空文字)もエラーではじかれる事になってしまうため、presence: trueの記述は取らざるをえない事になります。
class Item < ApplicationRecord # validates :name, presence: true
すると、save時に、nullの場合のチェックはどこでするの?という話になります。
save時に、nullだった場合は、if文のelse側に入ってくるので、この中で、nullですというエラーメッセージを出すという流れになるものなのでしょうか。
回答1件
あなたの回答
tips
プレビュー