在从另一个模型访问方法时遇到一些麻烦。似乎无法修复我的代码。
我的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
这是我的Feed模型:
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'
我敢打赌,这是一个非常愚蠢的错误,但我无法理解如何修复它?谢谢你的阅读。
答案 0 :(得分:0)
全部修好了! Feed模型应该是这样的:
class Feed < ActiveRecord::Base
def self.fetch_all
Feed.all.each do |feed|
FeedEntry.update_from_feed(feed.url)
end
end
end