Having troubles saving a new model

My model is being created but isn't saving. It's like it skips straight past saving. Any ideas why it might do this? Updating works fine.

  def create     @volunteer = Volunteer.new(params[:volunteer])     @volunteer.save     redirect_to(volunteers_url)   end

And here's what the console reads upon create:

Processing VolunteersController#create (for 127.0.0.1 at 2009-01-21 11:33:00) [POST]   Parameters: {"commit"=>"Create", "volunteer"=>{"name"=>"test", "job_id"=>"2", "accepted"=>"0", "start_time(1i)"=>"2009", "finish_time(1i)"=>"2009", "start_time(2i)"=>"1", "finish_time(2i)"=>"1", "start_time(3i)"=>"21", "role"=>"Team Leader", "finish_time(3i)"=>"21", "start_time(4i)"=>"01", "finish_time(4i)"=>"01", "start_time(5i)"=>"18", "finish_time(5i)"=>"18", "email"=>"dazonic@gmail.com"}, "authenticity_token"=>"1a745e26f1bf45dd1a1bf15f45b29da69e4b8a15"} Redirected to http://volunteers.local/volunteers Completed in 14ms (DB: 0) | 302 Found [http://volunteers.local/volunteers\]

#save returns true if successful, false otherwise. The code generated by the scaffold typically looks something like:

  if @volunteer.save
    flash[:notice] = "New volunteer successfully added to database."

    format.html { redirect_to(volunteers_url) }
    format.xml  { render :xml => @volunteer, :status => :created, :location => @volunteer }
  else
    format.html { render :action => "new" }

    format.xml  { render :xml => @volunteer.errors, :status => :unprocessable_entity }
  end

Your volunteer model is probably failing a validation or two. Try looking in your development log.

–wpd

Try firing up script/console and manually try making a new Volunteer object and saving it.

script/console

a = Volunteer.new(:name => "john") # shouldn't matter if you don't pass all the fields since there are no validations a.save.

Might not answer your question, but should help you figure out where the issue is.

Try firing up script/console and manually try making a new Volunteer object and saving it.

Hmm... yep, that's returning false.

I found where the problem lies, thanks everyone. a dodgy before_save filter I made.