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

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

Цей допис поки що не має жодних доповнень від автора/ки.

Вмикаємо YJIT у Ruby 3.2.1 (Ruby on Rails)
8 трав. '24, 07:57

Вмикаємо YJIT у Ruby 3.2.1 (Ruby on Rails)

meme code
29 черв. '23, 13:20

Що таке ASC та DESC? В чому різниця? Приклади використання у SQL, JavaScript та Ruby.

meme code
24 трав. '23, 18:53

Що таке joins у Ruby on Rails та як це працює?

meme code
В чому різниця між immediate value та reference у Ruby?
29 трав. '24, 12:00

В чому різниця між immediate value та reference у Ruby?

meme code
23 трав. '23, 11:16

Як працює has_many through зв'язок (many to many) у Ruby on Rails?

meme code
23 трав. '23, 06:57

Що таке дебагінг (debugging)?

meme code
17 трав. '23, 18:52

Що таке loop у Javascript? Як працють цикли for та while у Javascript?

meme code
23 трав. '23, 07:41

Що таке attr_accessor, attr_reader та attr_writer у Ruby? Для чого вони потрібні?

meme code
16 трав. '23, 22:17

Як видалити проміжок між inline та inline-block елементами?

meme code
16 трав. '23, 20:02

Що таке Origin у Git?

meme code
2 черв. '23, 06:42

Помилка додавання людей до Google Family. Не вдалося завантажити сторінку.

meme code
10 трав. '23, 17:40

Як використовувати кольори шістнадцяткового коду CSS з альфа значенням?

meme code
2 черв. '23, 12:53

Що робить super у Ruby?

meme code
6 трав. '23, 09:19

Як відключити File Upload в Trix редакторі?

meme code
3 трав. '23, 18:48

Як отримати випадкове логічне значення true чи false у Ruby?

meme code