if @timesheet.create_command_officer(params[:command_officer])
format.html { redirect_to(edit_incident_timesheet_path, :notice
=> 'Command officer was successfully created.') }
else
format.html { redirect_to(edit_incident_timesheet_path, :notice
=> 'Could not save Command Officer.') }
Now when I enter 'aaa' in the Rate field and submit, the record DOES NOT
get saved to the database, but the controller redirects with 'Command
officer was successfully created.' instead of giving me reasons why the
record could not be saved.
Why doesn't the model give me errors saying why the record can't be
saved?
Do your tests that check that the validations on CommandOfficer work
correctly pass ok?
Colin
I haven't learned much about tests yet and haven't used them so far.
...and now you know why you must -- it's hard to tell what isn't working
if you don't have them. Testing is not optional.
So...stop writing application code now. Get RSpec and Cucumber, and
write a comprehensive test suite for your application. Preferably, do
so before writing *one more line* of application code. At a minimum,
write tests for the next thing you're trying to implement -- before you
implement it. Do all future development test-first -- that is, write
one failing test, watch it fail, and then do the simplest thing to make
it pass. Refactor once the test passes -- if you have a comprehensive
test suite, you'll know that the refactoring hasn't broken anything.
This is how reliable software is made. Anything less is just hacking.