← strona głównaProgramowanie (Програмування)

Jaka jest różnica między <%, <%=, <%# a -%> w szablonach ERB (Ruby on Rails)?

Jaka jest różnica między <%, <%=, <%# a -%> w szablonach ERB (Ruby on Rails)? Przykłady konstrukcji.

Ta treść została automatycznie przetłumaczona z ukraińskiego.
W ERB (Embedded Ruby, pliki *.erb) szablonach używanych w Ruby on Rails znajdują się tagi, które definiują różne typy wbudowanego kodu: 
<%
<%=
<%#
-%>
Mają one następujące znaczenia:
  • <% - ten tag jest używany do wstawiania kodu Ruby bez wyświetlania wyniku. Używa się go do logiki i wyrażeń warunkowych. Na przykład, możesz go użyć do stworzenia pętli lub operatora warunkowego bez bezpośredniego wyświetlania wyniku.
  • <%= - ten tag jest używany do wstawiania kodu Ruby z wyświetlaniem wyniku. Używa się go do wstawienia wartości zmiennej lub wyniku wyrażenia bezpośrednio do wyjściowego kodu HTML. Na przykład, możesz go użyć do wyświetlenia wartości zmiennej na stronie.
  • <%# - ten tag jest używany do ignorowania kodu Ruby (komentarz ERB) podczas wykonywania szablonu. Wszystko, co znajduje się między <%# a %>, będzie ignorowane i nie zostanie wyświetlone w wyjściowym kodzie HTML. Jest to przydatne, gdy chcesz zostawić komentarze lub tymczasowo wyłączyć pewną część kodu (podczas debugowania).
Na przykład:
<% if condition %>
  <%= variable %>
<% else %>
  <%# zakomentowana część %>
<% end -%>
  • -%> - Ten tag jest używany do kontrolowania przestrzeni po zamykającym tagu. Używa się go do usunięcia zbędnej spacji lub znaków nowej linii, które zwykle są dodawane po tagu %>
Na przykład:
 <% 1 + 1 -%>
wyświetli `2` bez dodawania spacji czy znaku nowej linii po nim.
Wskazówki:
<% %>  : Wykonuje kod ruby
<%= %> : Wyświetla przekazaną wartość w szablonie ERB
<% -%> : Usuwa spacje lub znaki nowej linii po wyrażeniu
<%# %> : Komentowanie kodu

🔥 Więcej postów

Wszystkie wpisy
Programowanie (Програмування)16 maj '23 20:02

Co to jest Origin w Git?

Co to jest Origin w Git? Po co pisać origin w poleceniu git? Kiedy i po co potrzebne są aliasy w ...

Programowanie (Програмування)2 cze '23 12:53

Co robi super w Ruby?

Co robi super w Ruby? Przykład użycia super w metodach Ruby.