The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

In your controller, you need to tell the action to rerender the page, but your code, regardless of state always does a redirect, which means it reinitiates your object, losing your errors.

To solve it you need something like this:

Code:

def add_category
@category = Category.new(params[:category])
if request.post? and @category.save # here I have succeeded and can move on
flash[:notice] = 'Category successfully created'
redirect_to :action => "settings"
else # here I rerender the page to show the errors captured in the @category object
flash[:error] = 'Category could not be created'
render :action => 'add_category'
end
end