Как сохранить строку, которая дается из формы в HTML?

Я следую этому уроку.

Этот учебник был сделан с более старыми версиями Ruby/Rails и HAML, которые я еще не изучал, поэтому я пытаюсь сделать то же самое приложение, но работаю.

Вот что приложение должно делать, пользователь добавляет в представление:

  • Их имя в League of Legends (игра, если кто-то из вас этого не знает) => называется 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. Смысл в том, чтобы рассчитать выигрыш каждого игрока с соответствующим чемпионом. Пока все сделано и работает, но я не могу получить удостоверение чемпиона. Для того, чтобы получить эти данные, я использую этот метод

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

end 

Моя проблема в том, что для получения идентификатора мне нужно дать метод, имя чемпиона (ранее называлось c1 и c2), но я понятия не имею, как этого добиться, это должно выглядеть

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

end 

Вот репо, если вы хотите проверить код, вы не можете делать вызовы API без ключа

Спасибо за любой совет!

1 ответ

Решение

Да чем должно быть

champs["data"][champ_name]["id"]
Другие вопросы по тегам