我正在学习Phoenix(和Elixir),在阅读了一些文档之后,我注意到在模板中呈现HTML的方式之间有些冲突。而且我不知道哪种方法更好。
以凤凰docs中的代码示例为例:
<%= for key <- connection_keys(@conn) do %>
<p><%= key %></p>
<% end %>
上面的代码在新段落中打印每个连接键。为什么不这样做呢? :
<%= for key <- connection_keys(@conn) do
content_tag :p, key
end %>
使用一种方法是否有不利之处?我应该主要使用Elixir还是HTML编写模板,或同时使用两者(行业标准是什么?)编写模板?我还发现第二个代码片段更具可读性。
我已经意识到,使用content_tag可以用Elixir代码编写几乎整个页面,而无需编写任何HTML。
答案 0 :(得分:0)
Phoenix是OSS。这是Phoenix.HTML.Tag.content_tag/2
的实现:
→https://github.com/phoenixframework/phoenix_html/blob/v2.13.2/lib/phoenix_html/tag.ex#L87
与html_escape
中的<%= key %>
基本相同。
也就是说,随便你做什么;尽管在 Phoenix 中使用 Phoenix 助手可能很有意义,但是没有明显的区别。