Uninitialized constant ActiveMerchant :: Billing :: CreditCard :: Validateable (NameError) - in Spree store

I am new to rails. Today I tried to deploy my shop (SpreeShop) to a new production server but something was wrong. I have a problem with some gems: activemerchant (1.34.1).

Bellow is my stack trace.

uninitialized constant ActiveMerchant::Billing::CreditCard::Validateable (NameError)
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/activemerchant-1.34.1/lib/active_merchant/billing/credit_card.rb:51:in `<class:CreditCard>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/activemerchant-1.34.1/lib/active_merchant/billing/credit_card.rb:49:in `<module:Billing>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/activemerchant-1.34.1/lib/active_merchant/billing/credit_card.rb:6:in `<module:ActiveMerchant>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/activemerchant-1.34.1/lib/active_merchant/billing/credit_card.rb:5:in `<top (required)>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/activemerchant-1.34.1/lib/active_merchant/billing.rb:5:in `<top (required)>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/activemerchant-1.34.1/lib/active_merchant.rb:56:in `<top (required)>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/bundler/gems/spree-3a3652adb1e8/core/lib/spree/core.rb:8:in `<top (required)>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/bundler/gems/spree-3a3652adb1e8/core/lib/spree_core.rb:1:in `require'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/bundler/gems/spree-3a3652adb1e8/core/lib/spree_core.rb:1:in `<top (required)>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/bundler/gems/spree-3a3652adb1e8/lib/spree.rb:1:in `require'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/bundler/gems/spree-3a3652adb1e8/lib/spree.rb:1:in `<top (required)>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
  /home/dp/dp/releases/20150607162220/config/application.rb:7:in `<top (required)>'
  /home/dp/dp/releases/20150607162220/config/environment.rb:2:in `require'
  /home/dp/dp/releases/20150607162220/config/environment.rb:2:in `<top (required)>'
  config.ru:3:in `require'
  config.ru:3:in `block in <main>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
  config.ru:1:in `new'
  config.ru:1:in `<main>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@quiselle/gems/passenger-4.0.26/helper-scripts/rack-preloader.rb:105:in `eval'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/passenger-4.0.26/helper-scripts/rack-preloader.rb:105:in `preload_app'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/passenger-4.0.26/helper-scripts/rack-preloader.rb:150:in `<module:App>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/passenger-4.0.26/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
  /home/dp/.rvm/gems/ruby-1.9.3-p429@dp/gems/passenger-4.0.26/helper-scripts/rack-preloader.rb:28:in `<main>'

      

Do you have any idea how to solve this problem ??? I have read another post with similar problems but nothing was helpful ....

+3


source to share


2 answers


This is the same issue found at https://github.com/Shopify/active_utils/issues/57 .

A fix for the issue was included in the active_merchant gem on January 15, 2015 and is available in activemerchant 1.47.0

or higher versions .

So, to fix the problem in your rails app, update the gemememorchanter version. These steps will be as follows:

  • Change Gemfile

    and set the version gem version to active_merchant togem 'activemerchant', '1.50.0'

  • Run bundle install



Any version of the activemerchant hero above can be used 1.47.0

.

Update

active_merchant-payu gem does not depend on any particular version activemerchant

. Run bundle update

to force it to use the latest activemerchant

gem.

+4


source


An uninitialized persistent problem ActiveMerchant :: Billing :: CreditCard :: Validateable is active_utils

gem version related . Version 3 throws an error; version 2 - no. You need to set the gem version to Gemfile.



# Gemfile
gem 'active_utils',  '2.0.2'
gem 'activemerchant', '~> 1.32.1', require: 'active_merchant'

      

+4


source







All Articles