Ruby 未定义的方法将\u添加到\u基

Ruby 未定义的方法将\u添加到\u基,ruby,ruby-on-rails-3,methods,Ruby,Ruby On Rails 3,Methods,我正在与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.e

我正在与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

它指向
未定义的方法add_to_base

add_to_base
方法已从rails 3中删除。您应该在模型中使用
错误[:base],只需制作:

:add_to_base=> false
通过以下方式在控制器中访问它:

model_instance.errors.messages

与公认的答案相比,我更喜欢以下内容:


errors.add:base,“error message”

是的,我也是。使用与其他错误相同的语法是有意义的。请参阅下面Brad Werth的回答以了解其他语法。