0

在从另一个模型访问方法时遇到一些麻烦。似乎无法修复我的代码。

我的 ruby​​ on rails 应用程序是一个简单的 RSS 阅读器。我有两个模型,Feeds 和 FeedEntries,我正在尝试遍历 Feeds 中的 url,并将它们传递给 FeedEntries 中的一个方法,该方法将对它们进行短语化并将它们添加到数据库中。后者正在查找但无法从我的 Feeds 模型访问 update_from_feed 方法,这是我的模型的代码:

class FeedEntry < ActiveRecord::Base
  def self.update_from_feed(feed_url)
    feed = Feedzirra::Feed.fetch_and_parse(feed_url)
    feed.entries.each do |entry|
      unless exists? :guid => entry.id
        create!(
          :name         => entry.title,
          :summary      => entry.summary,
          :url          => entry.url,
          :published_at => entry.published,
          :guid         => entry.id
          )
      end
    end
  end
end

这是我的提要模型:

class Feed < ActiveRecord::Base
  def self.fetch_all
    feeds.each do |feed|
      FeedEntry.update_from_feed(feed.url)
    end
  end
end

当我跳入控制台尝试运行 Feed.fetch_all 时,我得到:

NameError: undefined local variable or method `feeds'

我敢打赌这是一个非常愚蠢的错误,但我不知道如何解决它?谢谢阅读。

4

1 回答 1

0

都修好了!Feeds 模型应该如下所示:

class Feed < ActiveRecord::Base
  def self.fetch_all
    Feed.all.each do |feed|
      FeedEntry.update_from_feed(feed.url)
    end
  end
end
于 2013-11-12T20:14:59.540 回答