ruby-on-rails - Solidus ShippingCalculator 错误
问题描述
我正在自定义我的 Solidus 项目以访问 Correios 的 API(Correios 是巴西的邮件和交付)来计算运费,但发生了错误。
我正在使用宝石'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
解决方案
白痴问题......我安装了gem但是,我没有重新启动rails服务器:-o
推荐阅读
- google-apps-script - newTrigger AppsScript 未出现在 UI 中
- javascript - SAP UI5:如何在 Javascript 中读取嵌套 odata 对象中的数据?
- r - 我正在使用 R 中的 ... 作为我正在制作的函数中的控制变量,如何将控制变量转换为列表?
- android - IllegalStateException 崩溃:移动到第二个活动以使用使用 Kotlin 的 Searchview 时,搜索不能为空
- assembly - 6502 汇编二进制到 bcd - 在 x86 上可能吗?
- javascript - 如何更改 react-select Select 元素的边框?
- actions-on-google - last_simple 如何在 Actions Builder 中工作?
- codeceptjs - 将页面对象中的函数调用到另一个页面对象后,测试不会继续运行 - Codeceptjs
- html - Pug 预处理器和缩进的问题
- javascript - 如何从 URL 中删除 accesstoken