# File lib/erubis/helpers/rails_form_helper.rb, line 121
  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