它是怎么回事?
我已将 Recent News 部分添加到用户信息中心的顶部,在其中通过Feedjira
获取新闻报道,将NewsEntry
保存到数据库(postgres)然后选择三个随机NewsEntries
以显示在Dashboard#index
视图中。
我还创建了一个佣金任务NewsEntry.update_from_feed(feed_url)
来更新表格,新的NewsEntries
计划每24小时运行一次。
我的问题,因为它是 Recent News 部分,我想获取今天发布的NewsEntries
(或昨天;这也可能是时间)。最后,我将添加rake任务以删除旧文章并使用较新的文章更新Feed。现在我在尝试获取特定日期的条目时遇到错误:
NoMethodError: undefined method `where' for #<Array:0x00007fcab2910d00>
NewsEntry
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
提前感谢您的帮助!