O que eu fiz uma vez foi ter um feed de modelo separado (feeds_controller) e atualizá-lo em callbacks after_save para todos os
interesting
modelos. Então, por exemplo, se você tiver um artigo modelo, tenha um retorno de chamada after_save:def after_save
feed = Feed.new
feed[:model_name] = 'Article'
feed[:item_id] = id
feed.save
end
então, você pode acessar o feed linearmente como qualquer outro modelo. A despesa computacional é incorrida ao salvar o feed, não ao ler o feed.
Ah, você também pode ter
Feed has_many :article; has_many :user, has_many :status
e assim por diante, e então :include
todos esses recursos no feed e os renderize em visualizações. Espero que isso faça sentido;-)