Hi there!
I create some STI models with custom serialize like this:
class Property < ApplicationRecord
end
class StringProperty < Property
end
class BooleanProperty < Property
class BooleanSerializer
def self.dump(value)
value.to_s
end
def self.load(value)
value.eql? 'true'
end
end
serialize :value, BooleanSerializer
end
class IntegerProperty < Property
class IntegerSerializer
def self.dump(value)
value.to_s
end
def self.load(value)
value.to_i
end
end
serialize :value, IntegerSerializer
end
The problem comes when i.e. a BooleanProperty.create name: 'Are you a senior developer?', value: false
it’s persisted value column like NULL
. And same with IntergerProperty
and 0
value.
And this it’s really weird, when I run StringProperty.create name: 'FooBar', value: 'false'
it’s properly persisted.
It’s me or a bug?
P.S: My apologies for my noob english.