How to deal with array of checkbox values in Ruby 1.9.1?
- by Ola Tuvesson
In Ruby 1.9.1 strings are no longer enumerable and string.each is undefined. This causes a problem when parsing values for an array of generated checkboxes since the field value, when submitted, becomes an array of strings. For example:
<% for map in Map.find(:all) %>
<%= check_box_tag "listing[map_ids][]", map.id %>
<%= map.title %>
<% end %>
This will result in an error, undefined method `each' for "1":String, in process_parameter_filter because map_ids is being passed as "map_ids"=["1","2"] (if checkboxes with values 1 and 2 have been checked that is).
What is the recommended way to fix this?