Какой лучший способ / метод для реализации и отображения новых комментариев оповещения? - PullRequest
0 голосов
/ 07 ноября 2011

Пока у меня есть @comments.count, который дает мне количество всех комментариев в таблице, но мне нужен другой столбец, который будет действовать как previous_count, чтобы сравнить с @comments.count, а затем сделать что-то подобное на вид.

     if @comments.count is greater than previous_recorded
        display NEW COMMENT

У меня вопрос, как записать и сохранить @ comments.count в previous_count? Я думал об использовании сессии, но я не уверен, что это может быть безопасно. Любая помощь будет оценена

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Подумайте об использовании даты и времени вместо числа.Подсчет будет ошибочным, если, скажем, более ранние комментарии будут удалены, а затем добавлены другие.Если вы просто сохраните предыдущее время (вместо счетчика), вы можете позвонить @comments.where(:created_at > prev_datetime).count, чтобы получить счетчик.Что касается хранения «последней даты-времени», то сеанс будет хорошим местом для этого, если только вы не хотите, чтобы он сохранялся на разных устройствах, и в этом случае вы захотите сохранить его как атрибут, например, в вашей модели пользователя.

1 голос
/ 07 ноября 2011

Возможно, имеет смысл взглянуть на временные метки (скорее всего, created_at), а не на счет. Затем каждый клиент может отследить последнюю отметку времени, которую он имел, и просто запросить комментарии, более новые, чем это, при необходимости. Таким образом, вам не нужно было бы хранить что-то новое или беспокоиться о разных клиентах, имеющих разные значения previous_count, вы могли бы просто отслеживать метку времени в сеансе или на клиентском JavaScript или в другом удобном месте.

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