Как мне получить доступ к областям записи в методе класса в Mongoid? - PullRequest
1 голос
/ 07 февраля 2012

У меня есть класс RSS-канала, который содержит URL-адрес, имя и т. Д., И я хочу добавить метод posts для циклического просмотра каждого сообщения в ленте и возврата результатов. У меня есть следующий код, но я получаю много 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 в моем методе posts, который будет возвращать Mongoid::Criteria, но scoped.all.each или scoped.entries, оба возвращают уровень стека слишком глубокие ошибки. Мне было интересно, как я могу получить доступ к области project.feeds из моего метода класса сообщений?

Заранее спасибо!

1 Ответ

0 голосов
/ 09 февраля 2012

Моя глупая ошибка - cached зарезервированное слово.

...