我开始在phoenix创建一个网络应用。我查看了一些教程以及从chrismccord创建聊天示例。当我们生成ecto
模型时,它们使用控制器生成CRUD网页,其用于简单目的而不用于实时更新。我有点困惑何时使用控制器以及何时使用频道,是否仅在需要实时更新时?
还有一种方法可以将两者一起用于特定的表单/网页,其中某些任务在控制器上完成,某些任务在通道中完成。请澄清。
答案 0 :(得分:1)
频道用于实时通信。控制器用于正常的HTTP请求 - 响应通信。
控制器通常基于数据库资源,因此会为您生成常规的CRUD操作。但实时的用例更加多样化。我不认为有任何东西可以被认为是生成器生成的默认实现。
您绝对可以在一个页面内使用这两个通道进行实时更新和常规控制器,但您需要自己编写通道代码。