 
   All other options are forwarded to the underlying HTML tag.
   """
-  def select(form, field, values, opts \\ []) do
+  def select(form, field, options, opts \\ []) do
     {default, opts} = Keyword.pop(opts, :default)
     {value, opts}   = Keyword.pop(opts, :value, value_from(form, field) || default)
 
-    {options, opts} = case Keyword.pop(opts, :prompt) do
+    {prefix, opts} = case Keyword.pop(opts, :prompt) do
       {nil, opts}    -> {raw(""), opts}
       {prompt, opts} -> {content_tag(:option, prompt, value: ""), opts}
     end

      |> Keyword.put_new(:name, name_from(form, field) <> "[]")
      |> Keyword.put_new(:multiple, "")

    options = options_for_select(values, "", Enum.map(multiple, &html_escape/1))
    content_tag(:select, options, opts)
  end


      |> Keyword.put_new(:id, id_from(form, field))
      |> Keyword.put_new(:name, name_from(form, field))

    options = options_for_select(options, prefix, html_escape(value))
    content_tag(:select, options, opts)
  end

