怎么样?
我在用户仪表板的顶部附加了一个最近的新闻部分,它通过 获取新闻故事Feedjira
,将其保存NewsEntry
到数据库(postgres),然后随机选择三个NewsEntries
显示在Dashboard#index
视图中。
我还创建了一个 rake 任务,以每 24 小时运行一次NewsEntry.update_from_feed(feed_url)
来更新表。NewsEntries
我的问题,因为这是一个最近的新闻部分,我想获取NewsEntries
今天(或昨天;这也可能是一个时间)发布的内容。最终,我将添加到 rake 任务以删除旧文章并使用新文章更新提要。现在我在尝试获取某个日期的条目时遇到错误:
NoMethodError: undefined method `where' for #<Array:0x00007fcab2910d00>
新闻入口
class NewsEntry < ApplicationRecord
def self.update_from_feed(feed_url)
feed = Feedjira::Feed.fetch_and_parse(feed_url)
add_entries(feed.entries)
end
private
def self.add_entries(entries)
today = Date.today
entries.where("published_at = ?", today) do |entry|
unless exists? :guid => entry.id
create!(
:title => entry.title,
:url => entry.url,
:published_at => entry.published,
:guid => entry.id
)
end
end
end
end
提前感谢您的帮助!