Дисклеймер

Інформація на сайті tseivo.com є суб'єктивною та відображає особисті погляди та досвід авторів та авторок блогів.

Використовуйте цей ресурс як одне з декількох джерел інформації під час своїх досліджень та прийняття рішень. Завжди застосовуйте критичне мислення. Людина сама несе відповідальність за свої рішення та дії.

В чому різниця <%, <%=, <%# та -%> у ERB шаблонах (Ruby on Rails)?

Store Image
У ERB (Embedded Ruby, *.erb файли) шаблонах, які використовуються в Ruby on Rails, є теги, що визначають різні типи вбудованого коду: 
<%
<%=
<%#
-%>
Вони мають наступні значення:
  • <% - цей тег використовується для вставки рубі-коду без виведення результату. Він використовується для логіки та умовних виразів. Наприклад, ви можете використовувати його для створення циклу або умовного оператора без прямого виведення результату.
  • <%= - цей тег використовується для вставки рубі-коду з виведенням результату. Він використовується для вставки значення змінної або результату виразу безпосередньо у вихідний HTML-код. Наприклад, ви можете використовувати його для виведення значення змінної на сторінку.
  • <%# - цей тег використовується для ігнорування рубі-коду (ERB comment) при виконанні шаблону. Все, що міститься між <%# та %>, буде ігноруватися і не виводитиметься у вихідний HTML-код. Це корисно, коли ви хочете залишити коментарі або тимчасово відключити певну частину коду (під час налагодження (debugging, дебагінг)).
Наприклад:
<% if condition %>
  <%= variable %>
<% else %>
  <%# закоментована частина %>
<% end -%>
  • -%> - Цей тег використовується для забезпечення контролю над простором після закриваючого тегу. Він використовується для видалення зайвого пробілу або символів нового рядка, які зазвичай додаються після тегу %>
Наприклад:
 <% 1 + 1 -%>
виведе `2` без додавання пробілу чи символу нового рядка після нього.
Підказки:
<% %>  : Виконує код ruby
<%= %> : Виводить передане значення у ERB шаблон
<% -%> : Видаляє пробіли або символи нового рядка після виразу
<%# %> : Коментування коду
Store Image

🙌 Підтримати блог @memecode

Ви можете поширити цей допис у соцмережах, чим допоможете платформі цейво розвиватись (* ^ ω ^)

📝 Більше публікацій: