Увольнение Javascript из драгоценного камня заслуг, когда возникают определенные действия.

0

Я пытаюсь использовать драгоценный камень достоинства для обработки очков и значков для веб-сайта. Я хочу, чтобы некоторые анимации/события javascript срабатывали, когда пользователь достигает определенных вещей. IE, когда счет очков увеличивается, он показывает анимацию своего счета, или когда они зарабатывают значок, модальные всплывающие подсказки показывают значок, который они заработали и т.д.

Я просто ищу совет о том, как организовать или сделать это. Журнал активности не регистрирует события при использовании функции add_points? Также класс Observer не вызывается, когда это происходит? Приложение может добавлять точки со всех сторон динамическими способами, поэтому использование правил на самом деле не работает для вещей, помимо получения баллов за оставление комментариев, регистрации и т.д. (У нас есть люди, отвечающие на викторины и получающие разные итоги, исходя из того, сколько раз они ответили неправильно), Также с рельсами вы не можете или не должны устанавливать флеш-сообщения от наблюдателя только как контроллер.

Один из способов, которым я занимался этим, заключался в создании дополнительного настраиваемого фида активности и с помощью javascript с интервалом, который ищет обновления событий, которые пока отображаются, а затем запускаются, но это не кажется идеальным и облагается налогом на сервере.

В принципе, это действительно случайный случай, когда значки и точки могут быть установлены по всему приложению, и я хочу, чтобы что-то сидело там, зная, когда происходит одна из этих вещей, и запускает правильный javascript, когда он это делает. Любые советы по этому поводу будут очень признательны.

Теги:
merit-gem

1 ответ

0

С Наблюдателями Rails вы можете просматривать badges_sashes и score_points, оба из которых изменяются независимо от того, когда и как изменилась репутация.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню