Ответ 1
add_to_base
был удален из рельсов 3. Вместо этого следует использовать errors[:base] << "error"
.
Я работаю с activemerchant, и это поднимет мне эту ошибку, когда проверка карты - это нормально в rails 3? благодарю вас заранее больше власти для всех
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
он указывает на Undefined method add_to_base
add_to_base
был удален из рельсов 3. Вместо этого следует использовать errors[:base] << "error"
.
Я предпочитаю следующее, по принятому ответу:
errors.add :base, 'error message'
В вашей модели просто сделайте:
:add_to_base=> false
Доступ к нему в вашем контроллере как:
model_instance.errors.messages