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

Fix but in coerce when Rails 5 params are passed in #388

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

natesholland
Copy link

Since parameters in Rails 5 no longer sub class from Hash and blow up
when you try to call to_hash on them when they are not permitted the
coerce method in Virtus was no longer working. Since the hash here is
not mass assigned but instead only permits known attributes it is safe
to call .to_unsafe_hash if it is defined on the attributes. If not we
fall back to the previous behavior.

This also adds specs to capture the bahavior I was seeing on Rails 5.

Since parameters in Rails 5 no longer sub class from Hash and blow up
when you try to call to_hash on them when they are not permitted the
coerce method in Virtus was no longer working. Since the hash here is
not mass assigned but instead only permits known attributes it is safe
to call `.to_unsafe_hash` if it is defined on the attributes. If not we
fall back to the previous behavior.

This also adds specs to capture the bahavior I was seeing on Rails 5.
@sea51930
Copy link

sea51930 commented Dec 4, 2018

#388

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 this pull request may close these issues.

2 participants