gpt4 book ai didi

ruby - 我如何使用 namecheap gem?

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:38 29 4
gpt4 key购买 nike

我正在尝试制作一个 Ruby 控制台脚本来进行 namecheap API 调用。我找到了 namecheap gem 并使用 sudo gem install namecheap 安装它。

我写了我的测试脚本,隐藏了 key 、用户名和客户端 ip:

#!/usr/bin/env ruby

require 'namecheap'

Namecheap.configure do |config|
config.key = 'mykey'
config.username = 'myusername'
config.client_ip = 'myip'
end
Namecheap.domains.get_list

我的 Ruby 版本:

ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

运行脚本时出现此错误:

/var/lib/gems/1.9.1/gems/namecheap-0.1.2/lib/monkey_patch.rb:14:in `block in to_param': undefined method `to_query' for "myusername":String (NoMethodError)
from /var/lib/gems/1.9.1/gems/namecheap-0.1.2/lib/monkey_patch.rb:13:in `each'
from /var/lib/gems/1.9.1/gems/namecheap-0.1.2/lib/monkey_patch.rb:13:in `collect'
from /var/lib/gems/1.9.1/gems/namecheap-0.1.2/lib/monkey_patch.rb:13:in `to_param'
from /var/lib/gems/1.9.1/gems/namecheap-0.1.2/lib/namecheap/api.rb:15:in `api_call'
from /var/lib/gems/1.9.1/gems/namecheap-0.1.2/lib/namecheap/domains.rb:5:in `get_list'
from ./chkdn.rb:15:in `<main>'

知道哪里出了问题吗?

最佳答案

剧透:这个 gem 只在 Rails 项目中运行良好

据我所知,这是 namecheap gem 中的一个错误。 Gem作者复制了core extension的部分来自 rails activesupport,以便将哈希值转换为 URL 参数。然而,他或她忘记了这个特定函数依赖于为许多可能的类定义的函数,这些函数可能用作散列中的值并转换为 URL 参数(参见 all these definitions )。

这正是您收到此错误的原因:

undefined method `to_query' for "myusername":String

确实没有为String定义。但是,如果您使用 Rails,它将开箱即用(因为它显然是在那里定义的)。如果您不打算使用 Rails,您的选择是:

  • 复制this file的内容在你的项目中的某个地方(你可能想跳过最后一类 Hash,因为它已经在 namecheap gem 中修补)
  • 安装 activesupport gem 并需要“active_support/core_ext/object/to_param”或​​“active_support/core_ext”(后者将包括所有核心扩展)

关于ruby - 我如何使用 namecheap gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16422457/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com