Ruby on Railsを独学しているのですが、
不明点があるので質問させてください。
■やりたいこと
Ruby on Rails, feedjiraを用いて、
下記2つのサイトから記事のタイトル(リンク付)を引っ張りたいと考えています。
http://www.fashionsnap.com/rss.xml
https://medium.com/feed/fashion-tech-news
■現状
以下のとおりコントローラ、ビューファイルを作成しました。
対象サイトが1つだけだからか英語記事は思ったとおりに引っ張ってこれるのですが、
対象サイトが複数ある日本語記事についてはスクショのとおり、
対象サイト内の記事のタイトルとURLではなく、対象サイトのタイトルとURLが引っ張られてしまいます。
原因と解決方法をご教示いただけますと幸いです。
よろしくお願いします。
【コントローラ】
class IndexController < ApplicationController require 'feedjira' def index # 日本語記事 # 複数のURLを登録 url_box = [ "http://www.fashionsnap.com/rss.xml", "https://medium.com/feed/fashion-tech-news", ] # 登録したURLをFeedとして配列に格納 feed_box = Array.new url_box.each do |url_ja| feed_box.push(Feedjira::Feed.fetch_and_parse url_ja) end # 対象のURLから記事要素のみを抽出 @entries_ja = feed_box.entries # 英語記事 # スクレイピング対象のURLを指定 feed_en = Feedjira::Feed.fetch_and_parse 'http://fashion.bodi.me/feed/' # 対象のURLから記事要素のみを抽出 @entries_en = feed_en.entries end end
【ビューファイル】
<div id="internal"> <h3>国内記事</h3> <% @entries_ja.each do |entry_ja| %> <%= link_to entry_ja.title, entry_ja.url, :target=>["_blank"] %><hr /> <% end %> </div> <div id="external"> <h3>海外記事</h3> <% @entries_en.each do |entry_en| %> <%= link_to entry_en.title, entry_en.url, :target=>["_blank"] %><hr /> <% end %> </div> <div id="sidebar">- サイト内検索 アーカイブ(月別) </div>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。