That is better as
render action: 'create'
or
render :action => 'create'
but I would have expected an error if it did not work. Are you sure
the validation is failing? Put some debug code after the if line, if
you use puts then it will be printed to the server terminal window.
Also it is normally better to use the standard actions new and create
rather than create and oncreate. If you have not already done so then
work right through a good tutorial such as railstutorial.org (which is
free to use online) which will show you the basics of rails.