I'm making a sports app to learn Rails. I've figured out how to call the API and display it how I want, but right now, I'm putting the full array in my view every time I want to call any key.
For instance, I want to make a page that shows the starting line-ups for teams using the JSON from the API, and right now I have it displaying, but the code within the view itself is pretty big and ugly.
My view:
<%= stylesheet_link_tag 'lineups' %>
<div id="lineupcontainter">
<div id= "team1lineup">
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][0]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][0]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][1]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][1]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][2]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][2]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][3]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][3]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][4]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][4]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][5]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][5]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][6]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][6]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][7]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][7]["player"]["data"]["image_path"] %> </div> </div>
<div id= "player1"><%= @schedule["data"][0]["lineup"]["data"][8]["player_name"] %>
<div id= "playerphotos"> <%= image_tag @schedule["data"][0]["lineup"]["data"][8]["player"]["data"]["image_path"] %> </div> </div>
</div>
My controller
def game1
@response = RestClient.get "https://soccer.sportmonks.com/api/v2.0/fixtures/between/2022-02-01/2022-02-04/62?api_token=____&include=lineup.player,"
{content_type: :json, accept: :json, "user_key": "____"}
@schedule = JSON.parse(@response)
render JSON: @schedule
end
What can I do to create something where I don't have to call the entire array every time I want to put something in views?