У меня есть класс 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 из моего метода класса сообщений?
Заранее спасибо!