我正在自定义我的Solidus项目来访问Correios的API (Correios在巴西是邮件和交付)来计算发货,但发生了一个错误。
我使用的是gem 'correios-frete‘。当我在命令行中运行一个ruby文件(听下面的correios.rb)时,没有任何问题。
# 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发布于 2018-05-21 02:01:54
愚蠢的问题..。我安装了gem,但没有重新启动rails服务器:-o
https://stackoverflow.com/questions/50431678
复制相似问题