1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Remove eval calls, use send.. eval is evil

This commit is contained in:
Carlos Antonio da Silva 2012-01-25 20:12:01 -02:00
parent 6a5408b775
commit 4af62c02ae

View file

@ -334,7 +334,7 @@ module ActionView
end.join("\n").html_safe end.join("\n").html_safe
end end
# Returns a string of option tags that have been compiled by iterating over the +collection+ and assigning # Returns a string of option tags that have been compiled by iterating over the +collection+ and assigning
# the result of a call to the +value_method+ as the option value and the +text_method+ as the option text. # the result of a call to the +value_method+ as the option value and the +text_method+ as the option text.
# Example: # Example:
# options_from_collection_for_select(@people, 'id', 'name') # options_from_collection_for_select(@people, 'id', 'name')
@ -418,9 +418,9 @@ module ActionView
# wrap the output in an appropriate <tt><select></tt> tag. # wrap the output in an appropriate <tt><select></tt> tag.
def option_groups_from_collection_for_select(collection, group_method, group_label_method, option_key_method, option_value_method, selected_key = nil) def option_groups_from_collection_for_select(collection, group_method, group_label_method, option_key_method, option_value_method, selected_key = nil)
collection.map do |group| collection.map do |group|
group_label_string = eval("group.#{group_label_method}") group_label_string = group.send(group_label_method)
"<optgroup label=\"#{ERB::Util.html_escape(group_label_string)}\">" + "<optgroup label=\"#{ERB::Util.html_escape(group_label_string)}\">" +
options_from_collection_for_select(eval("group.#{group_method}"), option_key_method, option_value_method, selected_key) + options_from_collection_for_select(group.send(group_method), option_key_method, option_value_method, selected_key) +
'</optgroup>' '</optgroup>'
end.join.html_safe end.join.html_safe
end end