Current implementation performs multiple passes over form defaults before merging in "user"-supplied form data.
Map.merge works well for flat forms where name attributes on inputs are not nested. When nesting is in place and
attributes look like this: user[name], this approach breaks as default check boxes override hidden inputs, select
defaults override everything else, etc.
This patch uses replaces Map.merge with DeepMerge.deep_merge for form data helpers, in the same way it's already
done in some places in the live driver.
N.B. this bug occurs for the static driver but not for the live driver that already uses DeepMerge.
Current implementation performs multiple passes over form defaults before merging in "user"-supplied form data.
Map.merge
works well for flat forms wherename
attributes on inputs are not nested. When nesting is in place and attributes look like this:user[name]
, this approach breaks as default check boxes override hidden inputs, select defaults override everything else, etc.This patch uses replaces
Map.merge
withDeepMerge.deep_merge
for form data helpers, in the same way it's already done in some places in the live driver.N.B. this bug occurs for the static driver but not for the live driver that already uses
DeepMerge
.