Ruby 未定义的方法将\u添加到\u基
我正在与activemerchant合作,在验证rails 3中的卡时,它会引发此错误?提前谢谢大家,给大家更多的力量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
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的回答以了解其他语法。