Rails 2.3.2アプリケーションでのActiveMerchantクレジットカードの検証に問題があります。(ActiveMerchant1.4.1)
私はrailscast#145エピソードコードに正確に従いました。
私の問題は、:first_name、:last_nameのような無効なデータが空のクレジットカードを検証しているときに、ActiveMerchantが検証エラーを出さないことです。
スクリプト/コンソールでこれを試しました
credit_card = ActiveMerchant::Billing::CreditCard.new(:number => "",:first_name => "")
credit_card.errors.full_messages #=> []
credit_card.errors #=> {}
私のpayment.rbには
validate_on_create :validate_card
private
def validate_card
unless credit_card.valid?
credit_card.errors.full_messages.each do |message|
errors.add_to_base message
end
end
end
def credit_card
@credit_card = ActiveMerchant::Billing::CreditCard.new(
:number => card_number,
:month => card_expires_on.month,
:year => card_expires_on.year,
:first_name => first_name,
:last_name => last_name,
:verification_value => cvv_number,
:type => card_type
)
end
コントローラで作成した@paymentオブジェクトにクレジットカードエラーが追加されない#createどこで間違いをしたか教えてください