Form Not Displaying Errors

Not sure why but my form is not displaying errors. One of the first parts of my method is to check for errors and display them before processing the credit card. It just skips that part regardless of errors or not and tries to process the credit card.

def signup_unlimited     @user = User.new   end

  def signup_unlimited_create     User.transaction do       @user = User.new(params[:user])       @user.account_type = "Unlimited"       @user.login = @user.email       @number = params[:card_number]       @month = params[:card_expiration_month]       @year = params[:card_expiration_year]       @type = params[:card_type]

      gateway = ActiveMerchant::Billing::BraintreeGateway.new({           :login => 'btdemo',           :password => 'btdemo123'       })

      if @user.errors.empty?         if @number != "" and @month != "" and @year != "" and @type != ""             @card = ActiveMerchant::Billing::CreditCard.new(:first_name => @user.first_name,             :last_name => @user.last_name,             :number => params[:card_number],             :month => params[:card_expiration_month],             :year => params[:card_expiration_year],             :type => params[:card_type])

            @amount = 430.50

            @options = { :store => true, :order_id => "1212451" }             response = gateway.authorize(@amount, @card, @options)

            if @card.id != nil               self.current_user = @user               @user.credit_card_id = response.params["customer_vault_id"]             end

            if @user.credit_card_id != nil               @user.save               @invoice = Invoice.new(params[:invoice])               @invoice.amount = "9.95"               @invoice.due_date = Date.today + 30               @invoice.generated_date = Date.today               @invoice.status = "Due"               @invoice.user_id = @user.id               @invoice.save               self.current_user = @user               flash[:notice] = "Thanks for signing up"               redirect_to :action => 'index'             end

            if @user.credit_card_id == nil               flash[:notice] = "Please verify your credit card information below."               render :action => 'signup_unlimited'             end         else           flash[:notice] = "Please fill out all the necessary billing information."           render :action => 'signup_unlimited'         end       else         flash[:notice] = "errors with your user form"         render :action => 'signup_unlimited'       end     end   end

Form is pretty standard, including the error_messages part <%= error_messages_for :user %> <%= image_tag 'signup_header.jpg' %> <h2>For your unlimited account</h2> <% form_for :user, :url => { :action => :signup_unlimited_create } do | f> %>