module Erubis::Helpers::RailsFormHelper
def _pp_select(object, method, collection, priority_collection, options={}, html_options={})
def _pp_select(object, method, collection, priority_collection, options={}, html_options={}) return pp_error_on(object, method) do s = "" ## start tag s << "<select id=\"#{object}_#{method}\" name=\"#{object}[#{method}]\"" for key, val in html_options: s << " #{key}=\"#{val}\"" end s << ">\n" ## selected table key = options.key?(:value) ? :value : (options.key?('value') ? 'value' : nil) if key.nil? ; selected = "@#{object}.#{method}" elsif (val=options[key]).nil? ; selected = nil elsif val =~ /\A<%=(.*)%>\z/ ; selected = $1 else ; selected = val.inspect end s << "<% _table = {#{selected}=>' selected=\"selected\"'} %>\n" if selected ## <option> tags if options[:include_blank] || options['include_blank'] s << "<option value=\"\"></option>\n" end unless priority_collection.blank? _pp_select_options(s, priority_collection, selected, 'delete') s << "<option value=\"\">-------------</option>\n" end _pp_select_options(s, collection, selected, '[]') ## end tag s << "</select>" s end end