Использование content_tag против написания чистого HTML - PullRequest
0 голосов
/ 04 мая 2019

Я изучаю Phoenix (и Elixir), и после прочтения некоторой документации я заметил небольшое противоречие между способом отображения HTML в шаблонах. И я не знаю, какой метод лучше использовать.

Возьмите, например, пример кода в фениксе документы :

<%= 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.

1 Ответ

0 голосов
/ 04 мая 2019

Феникс это ОСС. Вот реализация 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 %>.

Тем не менее, делай, что хочешь; нет существенной разницы, хотя в Феникс , вероятно, имеет смысл использовать Феникс помощников.

...