使用 ActiveMerchant::Billing::EwayManagedGateway 的未初始化常量错误

Posted

技术标签:

【中文标题】使用 ActiveMerchant::Billing::EwayManagedGateway 的未初始化常量错误【英文标题】:Uninitialized constant Error using ActiveMerchant::Billing::EwayManagedGateway 【发布时间】:2011-09-13 16:35:51 【问题描述】:

我正在尝试启动并运行一个小的 ruby​​ 文件,以测试 EwayManagedGateway 的工作原理。

我正在考虑使用 Eway 来存储用户的信用卡详细信息,因此我不需要将它们存储在站点数据库中。

这是 EwayManagedGateway 的文档

http://rdoc.info/github/Shopify/active_merchant/master/ActiveMerchant/Billing/EwayManagedGateway

我创建了一个简单的 ruby​​ 文件来测试它。

require "rubygems"
require "activemerchant"

ActiveMerchant::Billing::Base.mode = :test

gateway = ActiveMerchant::Billing::EwayManagedGateway.new(
:login => '99999999',
:username => 'myusername',
:password => 'password'
)

我根据标准 eway 文档中提供的有效代码编写了此代码。

http://rdoc.info/github/Shopify/active_merchant/master/ActiveMerchant/Billing/EwayGateway

这是输出错误

NameError: uninitialized constant ActiveMerchant::Billing::EwayManagedGateway
at top level    in managed_payments.rb at line 6
Program exited with code #1 after 0.26 seconds.

我正在运行 Rails 3 和 activemerchant 1.12.1

github 上特定于 eway_managed 付款的文档。 https://github.com/Shopify/active_merchant/blob/master/lib/active_merchant/billing/gateways/eway_managed.rb

【问题讨论】:

【参考方案1】:

根据文档http://rdoc.info/github/Shopify/active_merchant/master/ActiveMerchant/Billing/EwayGateway,这是否应该要求“active_merchant”而不是要求“activemerchant”

【讨论】:

即使我使用他们的整个示例也不起作用,但感谢您的反馈。 实际上你提出的观点很有趣,因为我使用的是 activemerchant gem,同时还有一个 active_merchant gem。不知道为什么有两个相似的宝石。 help.rubygems.org/discussions/problems/… 据此,activemerchant gem 的这两种变体基本上做同样的事情。但在你的情况下,我认为它是需要安装的 active_merchant gem。您是否尝试安装 active_merchant gem 并卸载 activemerchant gem?【参考方案2】:

问题的原因与我使用 activemerchant gem 1.11.0 有关。一旦我将我的 gem 升级到 1.15.0,我就没有进一步的错误了。

【讨论】:

我很高兴你的问题得到了解决:)

以上是关于使用 ActiveMerchant::Billing::EwayManagedGateway 的未初始化常量错误的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)