chore: Normalize portal slug to nil (#5487)
This commit is contained in:
parent
b463ce5b1a
commit
913224ad84
3 changed files with 14 additions and 0 deletions
|
@ -11,4 +11,12 @@ class ApplicationRecord < ActiveRecord::Base
|
|||
|
||||
"#{self.class.name}Drop".constantize.new(self)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def normalize_empty_string_to_nil(attrs = [])
|
||||
attrs.each do |attr|
|
||||
self[attr] = nil if self[attr].blank?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -38,6 +38,7 @@ class Portal < ApplicationRecord
|
|||
source: :user
|
||||
has_one_attached :logo
|
||||
|
||||
before_validation -> { normalize_empty_string_to_nil(%i[custom_domain homepage_link]) }
|
||||
validates :account_id, presence: true
|
||||
validates :name, presence: true
|
||||
validates :slug, presence: true, uniqueness: true
|
||||
|
|
|
@ -32,6 +32,11 @@ RSpec.describe Portal, type: :model do
|
|||
expect(portal).not_to be_valid
|
||||
expect(portal.errors.full_messages[0]).to eq('Cofig in portal on some_other_key is not supported.')
|
||||
end
|
||||
|
||||
it 'converts empty string to nil' do
|
||||
portal.update(custom_domain: '')
|
||||
expect(portal.custom_domain).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue