Search code examples
apiopen-uri

trying to use a news API with rails application


I'm trying to get information from newsapi. I've used the basic structure i found elsewhere for another api to start with but i'm very new to this and not sure what is wrong/how to fix etc. all i'm trying to do is display the titles of the articles on my index page. At the moment, everything displays on the page, like title, author etc as an array but i just want to narrow things down and the syntax for doing so in the view. i've changed my api key to '?' for the time being(i know it should be in the .env file).ive looked at a lot of docs but i cant seem to find an answer. apologies if this is a broad question.

enter image description here

class TestsController < ApplicationController
require "open-uri"
  def index

  url = 'https://newsapi.org/v2/top-headlines?sources=techcrunch&apiKey=????????????????????????'
  article_serialized = open(url).read
  @articles = JSON.parse(article_serialized)
  end
end

<% @articles.each do |article| %>
<%= article[1] %>
<% end %>


Solution

  • This should do it

    <% @articles["articles"].each do |article| %>
    <%= article["title"] %>
    <% end %>
    

    Edit : This is what my ruby script looks like that I used for testing

    require 'json'
    file = File.read 'output.json'
    data = JSON.parse(file)
    
    data["articles"].each do |item|
        print item["title"]
    end