ActionCable:为什么要把广播放在一个单独的工作中? 对于表格,为什么不从控制器广播?

大多数教程都是一年前推出的示例应用程序DHH略有改动的版本。 他们中的大多数人都有将广播转移到工作岗位的习惯。 但是A)这不是Redis的观点吗? B)因为我正在使用Delayed :: Job不会直接播放更快吗?

在创建模型或通过ActionCable提交表单时,它似乎没有CSRF保护。 积极限制起源是否消除了对protect_from_forgery的需求? gem的自述文件有一个指向教程的链接,该教程添加了一个签名的cookie,我在warden['env'].user看到了另一个finds_verified_user教程。 这是否解决了protect_from_forgery解决的问题?

如果没有:我以为我可以像往常一样将表单提交给控制器,然后直接从控制器向所有订阅用户广播?但是因为它看起来很简单但我没有看到任何地方我担心有什么原因。 在那儿?

只是为了能够给出这个问题的答案,这是一个使用我想要使用的相同架构理念的Heroku教程。 因此,从设计的角度来看,它似乎不再是一种反模式

https://blog.heroku.com/real_time_rails_implementing_websockets_in_rails_5_with_action_cable#step-2-broadcast-to-the-channel