How to deal with array of checkbox values in Ruby 1.9.1?

666 views
Skip to first unread message

mikrogroove

unread,
Mar 30, 2010, 6:40:55 AM3/30/10
to Ruby on Rails: Talk
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, @listing.maps.include?
(map) %>
<%= 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?

Reply all
Reply to author
Forward
0 new messages