0

怎么样?

我在用户仪表板的顶部附加了一个最近的新闻部分,它通过 获取新闻故事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

提前感谢您的帮助!

4

0 回答 0