2017-08-30 36 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

希望它可以帮助的使用。