unknown attribute: commit

Anyone experience this before?

I have a very simple form, and when I try to submit the form I get an
"unknown attribute: commit" error.

Here is the form:

<% form_for @nominator do |f| %>
  <%= f.error_messages %>

    <%= f.label :first_name %>
    <%= f.text_field :first_name %>
    <%= f.label :last_name %>
    <%= f.text_field :last_name %>
    <%= f.label :email %>
    <%= f.text_field :email %>
    <%= f.submit "Register" %>
<% end %>

And parameters fed:

Parameters:
{"commit"=>"Register",
"nominator"=>{"last_name"=>"Smith",
"first_name"=>"Barney",
"email"=>"nominator@email.com"}}

Here's my model in nominator.rb:

class Nominator < ActiveRecord::Base
  acts_as_authentic
  has_many :students

  validates_presence_of :email
end

Btw, I'm using authlogic, although I don't suspect that has anything
to do with this error, as I've commented out the "acts_as_authentic"
and still get the same error. Thanks in advance, folks.

-Sal

Anyone experience this before?

I have a very simple form, and when I try to submit the form I get an
"unknown attribute: commit" error.

Here is the form:

<% form_for @nominator do |f| %>
<%= f.error_messages %>

   <%= f.label :first_name %>
   <%= f.text_field :first_name %>
   <%= f.label :last_name %>
   <%= f.text_field :last_name %>
   <%= f.label :email %>
   <%= f.text_field :email %>
   <%= f.submit "Register" %>

Get rid of f.submit and use submit_tag. That will keep the 'commit' parameter from being included in params[:nominator].

Well you don't show your controller code, which I suspect is the culprit.

For example I suspect that you are doing something like

   Nominator.create(params)
or
  @nominator.update_attributes(params)

instead of
  Nominator.create(params['nominator'])
or
  @nominator.update_attributes(params['nominator'])

or the like in your create and or update actions.

Note those parameters

{"commit"=>"Register",
"nominator"=>{
        "last_name"=>"Smith",
        "first_name"=>"Barney",
        "email"=>"nominator@email.com"
   }
}

Not all of the parameters are model attributes. The commit parameter
is telling you which button was pushed. It's usually ignored since
there is only one, but ...

Rick,

You hit the nail right on the head! In my controller, I had the
following:

    @nominator = Nominator.new(params)

When I changed it to
    @nominator = Nominator.new(params['nominator'])

that cleared it up!

Thanks!

-Sal