Quello che ho fatto una volta è stato, avere un feed modello separato (feeds_controller) e aggiornarlo in callback after_save a tutti i interesting
Modelli. Quindi, ad esempio, se hai un articolo modello, richiedi una richiamata after_save:
def after_save
feed = Feed.new
feed[:model_name] = 'Article'
feed[:item_id] = id
feed.save
end
quindi, puoi accedere al feed in modo lineare come qualsiasi altro modello. La spesa di calcolo viene sostenuta quando si salva il feed, non si legge dal feed.
Oh, puoi anche avere Feed has_many :article; has_many :user, has_many :status
e così via, e poi :include
tutte quelle risorse nel feed e renderle nelle visualizzazioni. Spero che questo abbia senso;-)