To, co kiedyś zrobiłem, to mieć osobny kanał modelowy (feeds_controller) i aktualizować go w wywołaniach zwrotnych after_save do wszystkich interesting
modele. Na przykład, jeśli masz artykuł wzorcowy, skorzystaj z wywołania zwrotnego after_save:
def after_save
feed = Feed.new
feed[:model_name] = 'Article'
feed[:item_id] = id
feed.save
end
wtedy możesz uzyskać dostęp do kanału liniowo, tak jak każdy inny model. Wydatki obliczeniowe są ponoszone podczas zapisywania kanału, a nie czytania z kanału.
Och, możesz też mieć Feed has_many :article; has_many :user, has_many :status
i tak dalej, a następnie :include
wszystkie te zasoby w pliku danych i renderuj je w widokach. Mam nadzieję, że to ma sens;-)