2017-08-30 82 views
0

我們使用JS輪詢來查看數據是否已經到達特定表格並從前端進行重定向。 Rails是否具有某種通知機制,以便用戶從Rails控制器重定向。避免在Rails中進行輪詢

某種出版商訂閱機制,使得Rails的控制器尋找出特定的變化,並儘快做重定向的變化發生

+0

你可以使用websockets,這裏有支持ws的rails 5 – AndreyS

+0

我目前正在擴展我的['live_record'](https://github.com/jrpr/aid_record)gem來支持「將新記錄同步到JS」 。該功能尚未完成,但如果您感興趣,您可以執行諸如「LiveRecord.Model.all.User.subscribe({where:{is_admin:true}});'在您的客戶端中 - 方JS。然後你可以添加一個回調來做一些事情,當一個新的記錄被同步時:'LiveRecord.Model.all.User.addCallback('after:create',function(){// do something});'' –

回答

3

你需要行動電纜。 Action Cable將WebSockets與其他Rails應用程序無縫集成。它允許以與Rails應用程序的其他部分相同的風格和形式使用Ruby編寫實時功能,同時仍然具有高性能和可擴展性。這是一個提供客戶端JavaScript框架和服務器端Ruby框架的全套產品。您可以訪問使用Active Record或您選擇的ORM編寫的完整域模型。

這裏是很好的例子,這表明作用電纜

https://blog.heroku.com/real_time_rails_implementing_websockets_in_rails_5_with_action_cable

希望它可以幫助的使用。