2012-04-23 12 views
22

Sto lavorando con activemerchant e mi viene segnalato questo errore durante la convalida della scheda è ok in rails 3? grazie in anticipo più potere a tuttimetodo indefinito add_to_base

belongs_to :reservation 

    attr_accessor :card_number, :card_verification 

    validate :validate_card, :on => :create 

    def validate_card 
    unless credit_card.valid? 
     credit_card.errors.full_messages.each do |message| 
     errors.add_to_base "error" 
     end 
    end 
    end 

    def credit_card 
    @credit_card ||= ActiveMerchant::Billing::CreditCard.new(
     :type    => card_type, 
     :number    => card_number, 
     :verification_value => card_verification, 
     :month    => card_expires_on.month, 
     :year    => card_expires_on.year, 
     :first_name   => first_name, 
     :last_name   => last_name 
    ) 
    end 

sta indicando Undefined method add_to_base

risposta

85

add_to_base metodo è stato rimosso dai binari 3. Si dovrebbe usare errors[:base] << "error" invece.

+0

See La risposta di Brad Werth sotto per la sintassi alternativa. –

2

nel modello solo fare:

:add_to_base=> false 

accesso nel vostro controller come:

model_instance.errors.messages 
4

Preferisco la seguente, sopra la risposta accettata:

errors.add :base, 'error message'

+1

Sì, anche a me. Ha senso usare la stessa sintassi degli altri errori. –

Problemi correlati