2012-04-23 32 views
22

Estoy trabajando con activemerchant y me plantea este error al validar la tarjeta ¿está bien en los rieles 3? gracias de antemano más potencia a todosMétodo no definido 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 

que está apuntando a Undefined method add_to_base

Respuesta

85

add_to_base método fue retirado de los carriles 3. Debe utilizar errors[:base] << "error" lugar.

+0

Ver La respuesta de Brad Werth a continuación para la sintaxis alternativa. –

2

En su modelo acaba de hacer:

:add_to_base=> false 

acceso en su controlador como:

model_instance.errors.messages 
4

Prefiero el siguiente, sobre la respuesta aceptada:

errors.add :base, 'error message'

+1

Sí, yo también. Tiene sentido usar la misma sintaxis que otros errores. –

Cuestiones relacionadas