0
私はRuby on Rails RSSリーダーをPostgreSQLデータベースと一緒に使っています。現時点では、既存のフィードと適切に同期しますが、既にデータベースにある記事を繰り返し表示しているようです。私はデータベースにまだない記事を繰り返してみたいと思います。誰かが私のsync.rakeタスクでそれを正しく行うにはどうすればいいのか理解できますか?ありがとう!どのようにRailsのRSSリーダーsync.rakeタスクの重複を減らすには?
namespace :sync do
task feeds: [:environment] do
Feed.all.each do |feed|
content = Feedjira::Feed.fetch_and_parse feed.url
content.entries.each do |entry|
local_entry = feed.articles.where(title: entry.title).first_or_initialize
text = Nokogiri::HTML(open(entry.url))
local_entry.update_attributes(content: text, author: entry.author, url: entry.url, published: entry.published)
p "Synced Entry - #{entry.title}"
end
p "Synced Feed - #{feed.name}"
end
end
end