我想知道在通过websockets添加内容时是否有办法呈现凤凰模板?如果我想使用websockets添加一些复杂的html结构作为模板而不在javascript代码中复制此结构,那么该怎么办?
我看到的唯一方法就是在控制器中生成模板html,如下所示:
'NullReferenceException was unhandled : Object reference not set to an object instance'
然后将此生成的内容添加到处理频道响应的javascript文件中的页面。
我还没有尝试过,所以它甚至可能无法工作,但我想知道是否有更合适的方法来做到这一点?如果首先可能的话?
答案 0 :(得分:3)
对于这样的任务,您基本上有两种选择:
MyApp.PostView.render(conn, "comment.html", comment: comment)}
是处理此问题的完美方式,这是上述第一种情况。
不要忘记它会返回{:safe, html}
而不仅仅是HTML,因此您可能希望使用render_to_string
通过websockets发送它。
处理此问题的第二种方法具有发送较少数据的优势,但您无法轻松重复使用模板,因此这取决于您的要求和应用程序。