It looks like you’re not outputting your errors on your view.
If you go to your terminal/command line and try the following:
type ‘rails c’ to enter the rails console. Here we go do a quick bit of testing to see if the errors are being captured.
type ‘user = User.new’, this’ll output a new User object.
type ‘user.errors’ If it returns Nil then you have a different problem otherwise it’s a case of just displaying your errors.
In your view you could do something like…
<% if @user.errors %>
There was an error, please see below.
<% @user.errors.full_messages.each do | msg | %>
<%= msg %>
<% end %>
<% end %>
I hope that helps.
I was sending the errors to the view from the controller. I found out that since the errors where not from the base model (User) so it wasn’t displaying them. Once I added them to the base using errors.add(:base, “Error”), it started displaying the errors.