Spree Error - Ошибка регистрации калькулятора Calculator :: PriceBucket - PullRequest
0 голосов
/ 27 ноября 2010

Получение этой ошибки локально и в производстве с чистой установкой.Данные семян были загружены.Rails 3.0.3, ruby ​​1.87 (разработка) и ruby ​​1.8.7 REE в вып.

spree gems spree (0.30.1) spree_api (0.30.1) spree_auth (0.30.1) spree_core (0.30.1) spree_dash (0.30.1) spree_promo (0.30.1) spree_sample (0.30.1)

Ошибка разработки:

=> Booting WEBrick => Rails 3.0.3 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach => Ctrl-C to shutdown server 
Error registering calculator Calculator::PriceBucket
[2010-11-27 12:57:49] INFO WEBrick 1.3.1 
[2010-11-27 12:57:49] INFO ruby 1.8.7 (2010-08-16) [i686-darwin10.4.3] 
[2010-11-27 12:57:49] INFO WEBrick::HTTPServer#start: pid=18146 port=3000

Ошибка выдачи:

Error message:
superclass mismatch for class PriceBucket
Exception class:
TypeError
Application root:
/home/deploy/webstores/mystore/current Backtrace:

ФайлРасположение линии

0 /home/deploy/.bundler/ruby/1.8/spree-e9c3485bf22e/core/app/models/calculator/price_bucket.rb 1

1 Ответ

0 голосов
/ 25 февраля 2011

Это сработало для меня, хотя оно сильно отличается от вашей ошибки:

Следует также отметить, что способ вычисления вещей в Rails3 Spree немного отличается. Теперь объект содержит атрибуты item_total, а не просто вызов object.length.

В моём основном расширении:

  def self.activate
    Dir.glob(File.join(File.dirname(__FILE__), "../app/**/*_decorator*.rb")) do |c|
      Rails.env.production? ? require(c) : load(c)
    end
    Calculator::PerWeight.register
  end

В моем пользовательском калькуляторе:

def self.register
  super
  ShippingMethod.register_calculator(self)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...