In a rails console session (and with the application), where mobile
is of datatype integer
User.last.update(mobile: nil)
the record gets updated with a '0'. The same is occuring via form submission.
mobile: 0,
There is no model requirement for validating presence of the field. However a uniqueness is processed
validates :mobile, uniqueness: { scope: :nation_id, message: (I18n.t('user.define_one_mobile_per_nation')) }, if: -> { mobile.present? }
Why is this nil
data input being interpreted as a 0
& how can this be avoided?
question from:
https://stackoverflow.com/questions/65917794/why-does-rails-alter-a-record-with-0-for-an-integer 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…