NoMethodError serialize_unknown_attributes? on upgrading to 3.0.0
phinze opened this issue · 3 comments
When upgrading to 3.0.0, I see a lot of test failures on a model with an enum:
NoMethodError: undefined method `serialize_unknown_attributes?' for nil:NilClass
I believe #173 will fix it, but I figured it was worth making a quick issue to track the problem too.
Thanks @phinze for making this issue. Came here to see if there was anything after I couldn't see anything obvious in the changelog or diff.
For me, tests pass on 5aedf27
and fail on 1a8eb48
the current head ref for me is still broken
technically in my case it's in lib/store_model/types/many_base.rb
with the change
def serialize(value)
case value
when Array
- ActiveSupport::JSON.encode(value, serialize_unknown_attributes: true)
+ return ActiveSupport::JSON.encode(value) unless value.all? { |v| v.is_a?(StoreModel::Model) }
+
+ ActiveSupport::JSON.encode(value,
+ serialize_unknown_attributes: value.first.serialize_unknown_attributes?,
+ serialize_enums_using_as_json: value.first.serialize_enums_using_as_json?)
when value #=> []
is an empty array
Happened to get my head in the space and found the fix #176 Not sure about the test. Having trouble getting all tests to pass, but my new test passes 🤷
Thank you all for help! The first PR is merged and I'm gonna to merge a second one right now. Please reach out if something is off 🙂