Open
Description
There are a few pull requests handling checkboxes in ways specific to the author's needs: #24, #27, #56. I started working on a branch (here: https://github.com/ylg/backbone-rails/compare/master...checkbox_handling) building on their ideas to more generically handle checkboxes and wanted to get some thoughts before submitting a patch.
So far, what I've done is (given type === "checkbox"):
if the model's attribute holds a real Javascript array
add or remove all occurrences of the checkbox's value attribute to or from the array
else if the checkbox's value is boolean-like, e.g., true, yes, on, or 1
set the model's attribute to a boolean based on the checked status (or inverse in the case of a false value)
else
copy or clear the checkbox's value to the model's attribute
Some open questions:
- Is this even something the gem should address OTS?
- Is removing all the matched values from the array really the least surprising? (Am leaning towards just popping one occurrence)
- Should we also handle Backbone collections here? (Seems like it.)
- What's the thinking about writing tests for the datalink code?