Реализация новостной ленты / ленты активности по нескольким моделям - рекомендации? - PullRequest
3 голосов
/ 28 сентября 2010

Мне интересно узнать, как реализовать новостную ленту / ленту активности в веб-приложении для нескольких моделей, таких как книги, авторы, комментарии и т. Д. *

Какие-нибудь рекомендации от группы? Драгоценные камни / Плагины, или опыт лично или от других на лучший / самый умный способ продолжить?

Спасибо!

Ответы [ 3 ]

12 голосов
/ 28 сентября 2010

Тебе не нужен драгоценный камень.

  1. Создать новую модель, например Активность, для хранения информации о деятельности. Модуль должен хранить как минимум метку времени активности, событие (например, созданное, уничтоженное, опубликованное, ...) и идентификатор связанной записи (вы можете даже использовать полиморфную ассоциацию, если хотите)
  2. Создать метод, который получает на вход запись с дополнительными метаданными и создает новую запись активности
  3. В ваших контроллерах вызывайте метод каждый раз, когда вы хотите отслеживать действие, передавая измененную запись в качестве параметра

Тогда у вас будет список записей активности, которые вы можете легко получить для отображения последних событий.

0 голосов
/ 16 января 2017

Прежде всего, я хотел бы быть открытым и сказать, что я являюсь сотрудником Stream, API для создания масштабируемых новостных лент и каналов новостей - так же, как вы видели бы в Facebook, Instagram и других приложениях для социальных сетей.

Благодаря моему большому опыту работы в качестве разработчика и консультанта, а также постоянным исследованиям и самообразованию, технологический стек Stream чрезвычайно эффективен и конкурентоспособен. Вы можете получать новости или действия за короткое время, а не создавать свою собственную инфраструктуру (кластеры Cassandra, механизмы очередей и т. Д.).

При этом я настоятельно рекомендую проверить Stream. То, к чему это действительно сводится, является покупкой против сборки. Вы можете потратить месяцы на создание индивидуального решения или положиться на проверенную и масштабируемую платформу, такую ​​как Stream, которая предложит вам все, что вам нужно для начала работы, в кратчайшие сроки.

Если вы настроены скептически, ознакомьтесь с 5-минутным учебником по адресу https://getstream.io/get_started/.

Удачи!

0 голосов
/ 19 марта 2013

Существует превосходное руководство по использованию гема public_activity для создания таких каналов:

http://railscasts.com/episodes/406-public-activity

Вы также можете посмотреть документацию для гема public_activity: https://github.com/pokonski/public_activity

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...