【问题标题】:How to run the example code for a gem such as Vacuum?如何为诸如 Vacuum 之类的 gem 运行示例代码?
【发布时间】:2012-04-28 21:48:02
【问题描述】:

我是 Rails 新手,希望建立一个使用亚马逊产品 API 的网站。我习惯于在 PHP 中使用 API,但如果可能的话,我热衷于迁移到 Ruby。

我一直在尝试各种 Amazon 产品 API gem、Ruby/AWS、Amazon-ECS,现在又尝试了 Vacuum。然而,我坚持的一个问题是如何实际使用他们在自述文件中建议的代码。

例如,真空:

https://github.com/hakanensari/vacuum/

它提到了以下代码:

req = Vacuum.new :product_advertising

req.configure do |config|
  config.key    'key'
  config.secret 'secret'
  config.tag    'tag'
end

req.build operation:    'ItemSearch',
      search_index: 'Books',
      keywords:     'Deleuze'
res = req.get

res.valid? or raise res.code

p res.body

不确定将这段代码放在哪里,我为测试应用设置了一个控制器并将其放在那里。但是它在第一行失败了,说没有定义 Vacuum(它作为 gem 安装在 gemfile 中,并且我已经运行了 bundle install)。

我可能正在做一些愚蠢但易于修复的事情,非常感谢任何建议。

D

编辑:

感谢 x1a4,下面的代码应该替换上面的配置块:

req.configure do |config|
  config.key =    'key'
  config.secret = 'secret'
  config.tag =    'tag'
end

【问题讨论】:

  • 您在运行bundle install 后是否重新启动了服务器?新的 gem 不会动态加载到正在运行的应用程序中。
  • 谢谢,这肯定有助于改变错误消息:) 我现在得到“错误数量的参数(1 代表 0)”,跟踪指向“req.configure do |配置|"线。你觉得这样好吗?
  • 从这里看起来没什么问题。您能否将整个跟踪发布到某个地方,例如gist.github.com ?
  • 感谢您的帮助。完整的跟踪在这里:gist.github.com/2522499
  • 看起来示例代码是错误的,您需要使用带有= 的setter。在传递给configure 的块中,尝试config.key = 'key'config.secret = 'secret'config.tag = 'tag'。我诚然没有真空经验,但从痕迹来看,这似乎是问题所在。

标签: ruby-on-rails ruby gem vacuum


【解决方案1】:

感谢 x1a4,下面的代码应该替换上面的配置块:

req.configure do |config|
  config.key =    'key'
  config.secret = 'secret'
  config.tag =    'tag'
end

【讨论】:

    猜你喜欢
    • 2010-11-04
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多