如何在Mongoid中的类方法中访问作用域条目?

时间:2012-02-06 22:54:33

标签: ruby-on-rails ruby mongoid

我有一个RSS Feed类,其中包含Feed网址,名称等,我想添加posts方法来遍历Feed中的每个帖子并返回结果。我有以下代码,但我遇到了很多SystemStackError: stack level too deep错误。

class Feed
  field :name
  field :url

  belongs_to :project

  def self.posts
    results = []
    scoped.all.each {|f| results << RssFeed.get(f.name, f.url)}
    results
  end
end

我的应用程序有不同的项目,每个项目都有很多供稿。所以在我的代码中,我试图获取属于特定项目的所有RSS源的所有帖子,如下所示:

project.feeds.cached

我可以在我的帖子方法中调用scoped,这将返回Mongoid::Criteriascoped.all.eachscoped.entries两个返回堆栈级别太深的错误。我想知道如何从我的post类方法中访问project.feeds范围?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我的愚蠢错误 - cached是一个保留字。