個人開発でNewAPIを使った、簡単なニュースサイトを作ってみましたが、画像の表示がうまくいきません。大半は常時表示さている(一部非表示)のですが、たまに以下のようなエラーが出てブラウザ自体が非表示になってしまいます。エラー文からはarticleの中身の引数が空になってしまっているとのことですので、インターネット上に画像データを保存・共有ができていないからだと考えています。
どなたか原因をご教授願えれば幸いです。よろしくお願いします。
コード ArgumentError in News#index Showing /Users/hiromu/original/app/views/news/index.html.erb where line #26 raised: Extracted source (around line #26): 24 25 26 27 28 29 </div> <div class="image"> <%= image_tag article["urlToImage"],:size =>'240x160' %> </div> <div class="content"> <%= article["description"] %>
app/controllers/news_controller.rb class NewsController < ApplicationController require "open-uri" def index news_api_key = ENV["NEWS_API_KEY"] uri = "http://newsapi.org/v2/top-headlines?country=jp&apiKey=#{news_api_key}" article_serialized = open(uri).read @articles = JSON.parse(article_serialized) end end
app/views/news/index.html.erb <main class="main"> <div class="inner"> <% if user_signed_in? %> <div class="greeting"> <%= link_to current_user.name, class: :greeting__link%> </div> <% end %> </div> <header> <p class="font">Powered by <a href="https://newsapi.org", class="btn">News API</a></p> </header> <div class="articles"> <% @articles["articles"].each do |article| %> <div class="article"> <div class="title"> <%= link_to article["title"], article["url"] %> </div> <div class="wrapper"> <div class="date"> <%= article["publishedAt"] %> </div> <div class="source"> <%= article["source"]["name"]%> </div> <div class="image"> <%= image_tag article["urlToImage"],:size =>'240x160' %> #この部分になります。 </div> <div class="content"> <%= article["description"] %> </div > </div> </div> <% end %> </div> </main>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/03 15:27
2021/01/03 22:01 編集
2021/01/04 08:24
2021/01/04 08:28
2021/01/04 09:18
2021/01/04 10:35
2021/01/04 12:22