Solidus ShippingCalculator Ошибка - PullRequest
0 голосов
/ 20 мая 2018

Я настраиваю свой проект Solidus для доступа к API Correios (Correios - почта и доставка в Бразилии) для расчета стоимости доставки, но происходит ошибка.

Я использую гем 'correios-frete'.Когда я запускаю в командной строке файл ruby ​​(correios.rb listen ниже), проблем не возникает.

# correios.rb
require 'correios-frete'
require 'pry-byebug'

frete = Correios::Frete::Calculador.new :cep_origem => "22790-671",
                                        :cep_destino => "06783-090",
                                        :peso => 7.3,
                                        :comprimento => 30,
                                        :largura => 20,
                                        :altura => 35

servicos = frete.calcular :sedex, :pac

binding.pry
puts servicos

Но когда я вставляю строки интеграции в нужный файл в проекте:

# app/models/spree/calculator/shipping/correios_api.rb

# frozen_string_literal: true

# require 'correios-frete'
require_dependency 'spree/calculator'
require_dependency 'spree/shipping_calculator'

module Spree
  module Calculator::Shipping
    class CorreiosApi < ShippingCalculator
      preference :api_key, :string

      def compute_package(_package)
        binding.pry
        calcula

        9090.90
      end

      def self.description
        "Correios API"
      end


      def calcula
        binding.pry
        frete = Correios::Frete::Calculador.new :cep_origem => "22790-671",
                                                :cep_destino => "06783-090",
                                                :peso => 7.3,
                                                :comprimento => 30,
                                                :largura => 20,
                                                :altura => 35

        servicos = frete.calcular :sedex, :pac
        binding.pry
      end
    end
  end
end

Поднимите эту ошибку:

NameError - uninitialized constant Spree::Calculator::Shipping::CorreiosApi::Correios:
  app/models/spree/calculator/shipping/correios_api.rb:26:in `calcula'
  app/models/spree/calculator/shipping/correios_api.rb:14:in `compute_package'

Эта ошибка поднимется в строке ниже:

frete = Correios::Frete::Calculador.new :cep_origem => "22790-671",
                                        :cep_destino => "06783-090",
                                        :peso => 7.3,
                                        :comprimento => 30,
                                        :largura => 20,
                                        :altura => 35

1 Ответ

0 голосов
/ 20 мая 2018

Идиотский вопрос ... Я установил гем, НО, я не перезагружал сервер rails: -o

...