То, что я когда-то делал, - это создание отдельной модели Feed (feeds_controller) и обновление ее в обратных вызовах after_save для всех моделей interesting
.Так, например, если у вас есть модель Article, у вас есть обратный вызов after_save:
def after_save
feed = Feed.new
feed[:model_name] = 'Article'
feed[:item_id] = id
feed.save
end
, то вы можете получить линейный доступ к каналу, как и любая другая модель.Затраты на вычисления возникают при сохранении канала, а не при чтении из канала.
О, вы также можете иметь Feed has_many :article; has_many :user, has_many :status
и т. Д., А затем :include
все эти ресурсы в канале и выполнитьих во взглядах.Надеюсь, что это имеет смысл; -)