1

我正在关注本教程

本教程是使用我尚未学习的旧版本的 Ruby/Rails 和 HAML 制作的,因此我正在尝试做完全相同的应用程序但可以正常工作。

这是应用程序应该执行的操作,用户将其放入视图中:

  • 他们在英雄联盟上的名字(如果你们中有人不知道这个游戏)=> 叫 p1
  • 英雄联盟上一个朋友的名字 => 叫 p2
  • 他们冠军的名字=>叫c1
  • 朋友的冠军名字=>叫c2

这是代码:

<%= form_for :player, url: players_path do |f| %>
  <%= f.label :p1, "First Summoner's Name "  %>
  <br/>
  <%= f.text_field :p1 %>
  <br/>
  <br/>
  <%= f.label :p2, "Second Summoner's Name" %>
  <br/>
  <%= f.text_field :p2 %>
  <br/>
  <br/>
  <%= f.label :c1, "Summoner One's Champion" %>
  <br/>
  <%= f.text_field :c1 %>
  <br/>
  <br/>
  <%= f.label :c2, "Summoner Two's Champion" %>
  <br/>
  <%= f.text_field :c2 %>
  <br/>
  <br/>
  <%= f.submit %>
<% end %>

然后我使用 Riot API。重点是计算每个玩家与各自冠军的胜率。到目前为止,一切都已完成并且工作正常,但我无法获得冠军 ID。为了获得这些数据,我使用这种方法

def self.get_champion_id(champ_name)
    api = RiotApi.new
    champs = api.get_champion
    champs["data"]["id"]

end 

我的问题是,要获得 id,我需要给出方法,冠军的名字(以前命名为 c1 和 c2)但我不知道如何实现,它应该看起来像

def self.get_champion_id(champ_name)
    api = RiotApi.new
    champs = api.get_champion
    champs["data"]["CHAMPION_NAME"]["id"]

end 

如果你想检查代码,这里是repo,你不能在没有密钥的情况下进行 api 调用

感谢您的任何建议!

4

1 回答 1

0

是的,比应该的

champs["data"][champ_name]["id"]
于 2016-11-30T13:05:38.997 回答