2012-08-10 78 views
1

我有ActiveMerchant信用卡驗證一個問題,在我的Rails 2.3.2應用程序。(ActiveMerchant 1.4.1)ActiveMerchant不驗證信用卡無效

我跟着railscast#145事件代碼完全相同。

當我驗證的信用卡一樣無效數據我的問題是:FIRST_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我在控制器中創建對象#創建 請告訴我,我做了錯誤

回答

1

請添加一個||在你的信用卡功能

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 
+0

嗨Vinu,感謝它解決了我的問題 – Krishna 2012-08-10 11:11:04