【问题标题】:undefined method base_uri on httpartyhttparty 上未定义的方法 base_uri
【发布时间】:2016-07-08 19:55:48
【问题描述】:

我正在使用 httparty 创建一个 gem 以允许用户从站点获取 auth_token。

我需要做 POST 方法会话:

POST https://www.mysite.io/api/v1/sessions

后跟body中的电子邮件和密码(都是字符串)

这是我所拥有的:

require 'httparty'

class Gemname
  include HTTParty
  base_uri "https://www.mysite.io/api/v1/sessions"

  def initialize(email, password)
    response = self.class.post(self.base_uri, body: {"email": email, "password": password}) 
    raise InvalidStudentCodeError.new() if response.code == 401
    @auth_token = response["auth_token"]
  end

end

Gemname 在 irb 上运行良好。但是,我无法输入我的电子邮件和密码。每当我执行Gemname.new("myemail@email.com", "mypassword") 时,我都会收到NoMethodError: undefined methodbase_uri'` 错误。

如何修复我的代码,以便 HTTParty 识别我的电子邮件和密码以正确传递给 self.class.post?

【问题讨论】:

    标签: ruby-on-rails httparty


    【解决方案1】:

    您的示例中的self.base_uri 指的是正在构造的实例的成员,而HTTParty 的base_uri 是一个类方法。

    您可以通过以下方式访问它:

    self.class.base_uri
    

    【讨论】:

    • 解决了!我现在看到一个不同的错误Gemname::InvalidStudentCodeError,但至少 httparty 可以识别我的输入。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    相关资源
    最近更新 更多