deep_munge was introduced as a solution to keep Rails secure by default which results in 'empty array becomes nil in params'. Thats why, set deep_munge config off in application.rb. Also, added changes which will cast param argument to string while calling find_by_{string_type_attr} method on object.
Related issues
Bug #17343: It is not possible to use empty list as value for optional parameters via API
Fixes #17343 - set deep munge config off
deep_munge was introduced as a solution to keep
Rails secure by default which results in
'empty array becomes nil in params'.
Thats why, set deep_munge config off in application.rb.
Also, added changes which will cast param argument to string
while calling find_by_{string_type_attr} method on object.