Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NoMethodError serialize_unknown_attributes? on upgrading to 3.0.0 #174

Closed
phinze opened this issue Jun 3, 2024 · 3 comments · Fixed by #176
Closed

NoMethodError serialize_unknown_attributes? on upgrading to 3.0.0 #174

phinze opened this issue Jun 3, 2024 · 3 comments · Fixed by #176

Comments

@phinze
Copy link

phinze commented Jun 3, 2024

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.

@bf4
Copy link
Contributor

bf4 commented Jun 5, 2024

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

@bf4
Copy link
Contributor

bf4 commented Jun 5, 2024

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 🤷

@DmitryTsepelev
Copy link
Owner

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 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants