如何保存从 html 中的表单给出的字符串?

How to save a string that is given from the form in the html?

我正在关注这个 tutorial

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

这是应用应该做的,用户在视图中输入:

这是代码:

<%= 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。重点是计算每个玩家各自冠军的胜率。 到目前为止,一切都已完成并有效,但我无法获得 champs 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 调用

感谢任何建议!

是的,应该如此

champs["data"][champ_name]["id"]