【发布时间】:2014-06-26 05:38:53
【问题描述】:
我正在编写一个库来与Elophant API 交互,而我当前的包装器来获取current game infomation 看起来像这样
require "httparty"
class Elophant
include HTTParty
base_uri 'api.elophant.com'
def initialize(name, region)
@options = {query: {
summoner_name: name,
region: region,
key: ENV["ELOPHANT_API_KEY"]
}}
end
def self.current_game
HTTParty.get("/v2/#{region}/in_progress_game_info/#{summoner_name}?key=#{key}", @options)
end
def self.summoner_info
HTTParty.get("/v2/#{region}/summoner/#{summoner_name}?key=#{key}", @options)
end
end
所以我可以打电话
elophant = Elophant.new
elophant.current_game("summoner_name", "OCE")
像这样将这些信息发送到我的 rails 视图
def index
elophant = Elophant.new
@CurrentGame = elophant.current_game("summoner_name", "OCE")
end
除了 rails 会抛出这个错误
wrong number of arguments (0 for 2)
base_uri 'api.elophant.com'
def initialize(name, region)
@options = {query: {
summoner_name: name,
region: region,
【问题讨论】:
-
你已经用两个参数定义了 Elopant 的初始化器。因此,当您调用 Elopant.new 时,您应该提供名称和区域值。
-
我认为
@options允许我摆脱我使用的语法?
标签: ruby-on-rails ruby rest httparty