2015-01-07 3 views
0

У меня есть приложение, которое уже полностью построено, единственное, что я хотел бы добавить, это рендеринг в реальном времени одной из моих страниц.
Предположим, что это страница со всеми пиццами. Когда в базу данных добавляется пицца, я бы хотел, чтобы страница показывала ее без обновления.Как сделать одну страницу в режиме реального времени в приложении Rails?

Я знаю, что вы можете сделать это с помощью websockets, но есть ли более простой способ? Может, например, AngularJS помогите здесь (как я понимаю, он обновляет содержимое страницы сразу же после изменения модели)?

+2

Вам необходима информация с сервера. В то время как сокеты, вероятно, были бы способ пойти (вы могли бы использовать Pusher для помощи), есть и другие методы, такие как длительный опрос и т. Д. – David

+0

@ Давид, Пушер был хорошим советом, спасибо. – lakesare

ответ

1

Ну, вы можете сделать небольшой сервис в Угловом, который спрашивает сервер, как каждые 15 секунд или около того, чтобы увидеть, есть ли новые новые пиццы в базе данных. (Скажите в последний раз, когда вы взяли пиццу с сервера, на котором у вас было 15. Из них вы отправили этот номер 15 с запросом на проверку и сравните его с базой данных)

Если это так, он будет вызывать метод запроса в пицце Угловое обслуживание, чтобы забрать новую пиццу. Если это небольшая таблица с часто меняющейся информацией, я бы также предложил перенести эту модель на Redis. Часто запрашиваемая информация от Redis намного дешевле, чем спрашивать об этом из базы данных.

+0

Прочитайте простые запросы ajax на сервер. Угловая кажется слишком большой инвестицией для одной страницы. – Aventuris

+0

Может быть. Но в случае, если @Jayden решает развить сайт еще один день, тогда было бы гораздо лучшим решением, чтобы front-end был выполнен с помощью Angular, следуя надлежащим Угловым шаблонам развития. Помогает с более легким обслуживанием позже. – Kaspar