Как отобразить активных / недавних пользователей на моей домашней странице ... но дружественным к серверу способом? - PullRequest
0 голосов
/ 10 марта 2012

Я знаю, что могу сделать это, используя цикл «для» или «каждый», и ограничить результаты примерно 20 недавними пользователями, но какие данные лучше всего использовать для определения того, как пользователь распознается как недавний / активный?

Может быть, каждый раз, когда пользователь отправляет сообщение, обновлять столбец updated_at где-нибудь? Каждый раз, когда пользователь входит в систему, обновлять сеанс или что-то?

Не совсем уверен, что лучший способ сделать это ... Возможно, обновите столбец updated_at в таблице пользователей, когда отправляете сообщение, оставьте комментарий ... не слишком уверен, что лучший способ сделать это будет.

Наличие изображений пользователей на домашней странице в маленьких коробках будет хорошо смотреться с моим дизайном, но я не знаю, как это повлияет на мой сервер после запуска.

Я помню, что твиттер сделал это, а потом немного удалил эту функцию со своей домашней страницы.

В любом случае, спасибо заранее.

С уважением.

Ответы [ 3 ]

3 голосов
/ 10 марта 2012

Просто используйте :touch => true ( документация ). Думаю, это хороший способ сделать это.

class Message < ActiveRecord::Base
  belongs_to :user, :touch => true
end
0 голосов
/ 10 марта 2012

В вашем ApplicationController создайте пустой сеанс.

Когда пользователь вошел в систему, сохраните user_id и время, как в прошлый раз в сеансе, созданном ранее, используя хэш.

Создайте before_filter в вашем ApplicationController, чтобы обеспечить обновление lastimeseen.

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

Получив это, вы можете получить 20 последних пользователей.

0 голосов
/ 10 марта 2012

Последовательным способом является обновление последнего увиденного (временная метка) столбца (пользователь talbe) при входе в систему. Когда тайм-аут сеанса вы обновляете снова. С сортировкой «lastseen desc» и лимитом вы можете упростить недавний список.

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