httpparty 上的未定义方法 base_uri
undefined method base_uri on httparty
我正在使用 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 method
base_uri'` 错误。
如何修复我的代码,以便 HTTParty 识别我的电子邮件和密码,以便正确传递给 self.class.post
?
self.base_uri
在您的示例中指的是正在构造的实例的成员,而 HTTParty 的 base_uri
是一个 class 方法。
您可以通过以下方式访问它:
self.class.base_uri
我正在使用 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 method
base_uri'` 错误。
如何修复我的代码,以便 HTTParty 识别我的电子邮件和密码,以便正确传递给 self.class.post
?
self.base_uri
在您的示例中指的是正在构造的实例的成员,而 HTTParty 的 base_uri
是一个 class 方法。
您可以通过以下方式访问它:
self.class.base_uri